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-11-13 交作业啦
Yuzuki丶



交下作业
import java.util.Scanner;

public class While {
    public static void main(String[] args){
        Scanner s = new Scanner(System.in);
        System.out.println("请输入一个整数");
        long a = s.nextLong();
        long b = a-1;
        while (b>1){
                a*=b;
                b--;
        };
        System.out.println("阶乘是:"+a);
    }
}

							






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





2018-11-13 交作业递归阶乘
小柯



递归阶乘
public class Demo01Test {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int i = scanner.nextInt();
        System.out.println(method(i));
    }
    public static int method(int i){
        if (i == 1){
            return 1;
        }
            return i*method(i-1);
    }
}

							






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





2018-11-05 阶乘
2018-11-05 阶乘
2018-11-01 作业
2018-10-31 交作业
2018-09-25 交作业
2018-09-04 交作业
2018-09-04 交作业
2018-08-30 交作业
2018-08-27 作业
2018-08-23 叫做一日
2018-08-22 加个判断输入数为非负比较严谨吧.
2018-08-21 提交作业
2018-08-14 交作业
2018-08-13 交作业
2018-08-12 阶乘
2018-08-08 请大佬指点一些,代码质量如何
2018-07-25 阶乘答案
2018-07-25 fac*=n不是fac=fac*n么?
2018-07-23 交作业
2018-07-20 汇报作业
2018-07-20 交作业,没有考虑测试数据范围所以数据类型只用了int
2018-07-13 好像有点麻烦
2018-05-10 作业
2018-05-03 递归
2018-05-02 交作业
2018-04-18 交作业
2018-04-14 阶乘作业
2018-04-10 交作业
2018-03-10 提交作业
2018-03-05 练习--阶乘
2018-01-21 交作业,大佬看看对不
2018-01-12 我的结果总是为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群交流: 902680467
提问尽量提供完整的代码,环境描述,越是有利于问题的重现,您的问题越能更快得到解答。
对教程中代码有疑问,请提供是哪个步骤,哪一行有疑问,这样便于快速定位问题,提高问题得到解答的速度
在已经存在的几千个提问里,有相当大的比例,是因为使用了和站长不同版本的开发环境导致的,比如 jdk, eclpise, idea, mysql,tomcat 等等软件的版本不一致。
请使用和站长一样的版本,可以节约自己大量的学习时间。 站长把教学中用的软件版本整理了,都统一放在了这里, 方便大家下载: http://how2j.cn/k/helloworld/helloworld-version/1718.html

上传截图