how2j.cn

while和do-while循环语句

本视频是解读性视频,所以希望您已经看过了本知识点的内容,并且编写了相应的代码之后,带着疑问来观看,这样收获才多。 不建议一开始就观看视频



4分25秒
本视频采用html5方式播放,如无法正常播放,请将浏览器升级至最新版本,推荐火狐,chrome,360浏览器 如果装有迅雷,播放视频呈现直接下载状态,请调整 迅雷系统设置-基本设置-启动-监视全部浏览器 (去掉这个选项)



关键字 简介 示例代码
while
条件为true时 重复执行
示例代码
do while
条件为true时 重复执行,至少会执行一次
示例代码
练习-阶乘
示例代码
答案-阶乘
示例代码
示例 1 : 条件为true时 重复执行   
示例 2 : 条件为true时 重复执行,至少会执行一次   
示例 3 : 练习-阶乘   
示例 4 : 答案-阶乘   

示例 1 :

条件为true时 重复执行

只要while中的表达式成立,就会不断地循环执行
条件为true时 重复执行
public class HelloWorld { public static void main(String[] args) { //打印0到4 int i = 0; while(i<5){ System.out.println(i); i++; } } }
public class HelloWorld {
	public static void main(String[] args) {
		
        //打印0到4		
		int i = 0;
		while(i<5){
			System.out.println(i);
			i++;
		}
	}
}
示例 2 :

条件为true时 重复执行,至少会执行一次


do{
} while 循环

与while的区别是,无论是否成立,先执行一次,再进行判断
条件为true时 重复执行,至少会执行一次
public class HelloWorld { public static void main(String[] args) { //打印0到4 //与while的区别是,无论是否成立,先执行一次,再进行判断 int i = 0; do{ System.out.println(i); i++; } while(i<5); } }
public class HelloWorld {
	public static void main(String[] args) {
		
        //打印0到4
		//与while的区别是,无论是否成立,先执行一次,再进行判断
		int i = 0;
		do{
			System.out.println(i);
			i++;			
		} while(i<5);
		
	}
}
示例 3 :

练习-阶乘

Or  姿势不对,事倍功半! 点击查看做练习的正确姿势
通过Scanner 获取一个整数,然后使用while计算这个整数的阶乘

N的阶乘等于 N*N-1*N-2* ... * 1
练习-阶乘
示例 4 :

答案-阶乘

在查看答案前,尽量先自己完成,碰到问题再来查看答案,收获会更多
本视频是解读性视频,所以希望您已经看过了本答案的内容,带着疑问来观看,这样收获才多。 不建议一开始就观看视频

4分44秒 本视频采用html5方式播放,如无法正常播放,请将浏览器升级至最新版本,推荐火狐,chrome,360浏览器 如果装有迅雷,播放视频呈现直接下载状态,请调整 迅雷系统设置-基本设置-启动-监视全部浏览器 (去掉这个选项)


import java.util.Scanner; public class HelloWorld { public static void main(String[] args) { Scanner s = new Scanner(System.in); System.out.println("请输入一个整数:"); int n = s.nextInt(); int fac = 1; while(n>=1){ fac *=n; n--; } System.out.println("阶乘是:" + fac); } }
import java.util.Scanner;
 
public class HelloWorld {
    public static void main(String[] args) {
        Scanner s = new Scanner(System.in);
        System.out.println("请输入一个整数:");
        int n = s.nextInt();
        int fac = 1;
        while(n>=1){
        	fac *=n;
        	n--;
        }
        System.out.println("阶乘是:" + fac);
    }
}


HOW2J公众号,关注后实时获知布最新的教程和优惠活动,谢谢。


问答区域    
2018-01-21 交作业,大佬看看对不
trojan2017



交作业
package j2se;

import java.util.Scanner;
public class factorial {
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		System.out.println("请输入一个整数:");
		
		@SuppressWarnings("resource")
		Scanner scanner = new Scanner(System.in);
		int num = scanner.nextInt();
		int layer = num;
		int i = 1;
		loop:while(true) {
			layer = layer*(num-i);
			i++;
			if(i==num) {
				break loop;
			}
		}
		System.out.println(num+"の阶乘是:"+layer);
	}

}

							


2 个答案

臭牛芒 答案时间:2018-01-24
TimeMagician 答案时间:2018-01-22
没运行过,不知道正不正确




答案 或者 代码至少填写一项, 如果是自己有问题,请重新提问,否则站长有可能看不到





2018-01-12 我的结果总是为0?
peipeiChan



有什么问题吗?自己找不出来、
    package base1;

import java.util.Scanner;

public class HelloWorld {
    public static void main(String[] args) {
    System.out.println("请输入数字:");    
    Scanner s = new Scanner(System.in);
    int i = s.nextInt();
    int R = 1;
    while(i>0) {
    	R = i * (i-1);
    	i--;
    }
    System.out.println("结果为:"+R);
    }
}
请输入数字:
4
结果为:0






答案 或者 代码至少填写一项, 如果是自己有问题,请重新提问,否则站长有可能看不到





2017-12-14 一直重复执行,换个不成立的条件还是一样一直执行?
2017-11-30 自己的答案,暂时看不懂楼上大佬的代码
2017-09-18 不晓得对不对!
2017-07-14 阶乘
2017-07-06 重新去看了计数器的思想,搞懂了,自己写的++版本。
2017-06-12 阶乘到底是怎么出来的一只搞不懂不理解为什么要这么写有谁能说下吗
2017-05-25 答案
2017-05-13 如果在do while 循环里面写一个判断如下
2017-05-13 如果在do while 循环里面写一个判断如下
2017-05-13 如果在do while 循环里面写一个判断如下
2017-03-24 答案
2016-10-13 阶乘语句有些不明白。
2016-07-08 站长怎么用20就出现负数?其他的正常
2016-07-08 为什么只能算到整数16,到17就变成负数了
2016-06-19 这个报错怎么解决 是哪里出问题了?




提问之前请登陆
关于 JAVA 基础-控制流程-while 的提问

尽量提供截图代码异常信息,有助于分析和解决问题。 也可进本站QQ群交流: 389538688
站长会在每个工作日早上尽量回答提问(如果有漏掉没有回答的,请进群提醒一下)
提问尽量提供完整的代码,环境描述,越是有利于问题的重现,您的问题越能更快得到解答。
对教程中代码有疑问,请提供是哪个步骤,哪一行有疑问,这样便于快速定位问题,提高问题得到解答的速度
站长是玻璃心,提问的时候请语气温柔些 kiss~
截止2017-5-19日累计提问 1638个,站长回答了 1546个
截止2017-8-15日累计提问 2788个,站长回答了 2544个

上传截图