Java while 循环

Posted 滴水穿石不是靠力,而是因为不舍昼夜。

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java while 循环相关的知识,希望对你有一定的参考价值。

基本语法

语法格式:

①初始化部分
while(②循环条件部分){
    ③循环体部分;
    ④迭代部分;

执行过程:①-②-③-④-②-③-④-②-③-④-...-②

图示:

 

说明:

  • while(循环条件)中循环条件必须是boolean类型。
  • 注意不要忘记声明④迭代部分。否则,循环将不能结束,变成死循环。
  • for循环和while循环可以相互转换。二者没有性能上的差别。实际开发中,根据具体结构的情况,选择哪个格式更合适、美观。
  • for循环与while循环的区别:初始化条件部分的作用域不同。

应用举例

练习1、输出5行 2023 要加油吖!

    public static void printLine() 
        int n = 5;
        while (n > 0) 
            System.out.println("2023 加油呀!");
            //  n--;
            --n;
        
    

练习2、遍历1-50的偶数,并计算所有偶数的和、偶数的个数(累加的思想)

    /**
     * 偶数和偶数和
     */
    public static void doubleNumSum() 
        int n = 50;
        int sum = 0, cnt = 0;
        while (n > 0) 
            if (n % 2 == 0) 
                sum += n;
                cnt++;
            
            n--;
        
        System.out.println("0~50 一共有 " + cnt + "  个偶数,它们的和是 " + sum);
    

练习3、猜数字游戏:随机生成一个100以内的数,猜这个随机数是多少?从键盘输入数,如果大了,提示大了;如果小了,提示小了;如果对了,就不再猜了,并统计一共猜了多少次。

提示:生成一个[a,b] 范围的随机数的方式:(int)(Math.random() * (b - a + 1) + a)

    /**
     * 猜数字游戏
     */
    public static void guseNum() 
        Scanner scanner = new Scanner(System.in);
        //获取一个随机数
        int random = (int) (Math.random() * 100) + 1;
        System.out.println("猜一下,看你几次可以猜到!!!");
        int cnt = 0;
        while (true) 
            System.out.println("请输入你的答案:");
            int pwd = scanner.nextInt();
            if (pwd > random) 
                System.out.println(pwd + "? 大了...");
                cnt++;
             else if (pwd < random) 
                System.out.println(pwd + "? 小了...");
                cnt++;
             else if (pwd == random) 
                cnt++;
                System.out.println(pwd + " , 恭喜你,答对了,一共猜了 " + cnt + " 次,还不错!!");
                break;
                //return;
            
        
    

 练习4、 世界最高山峰是珠穆朗玛峰,它的高度是8848.86米,假如我有一张足够大的纸,它的厚度是0.1毫米。请问,我折叠多少次,可以折成珠穆朗玛峰的高度?

    public static void Zmlmf() 
        int l = 884886, cnt = 0;
        double paper = 0.1;//单位:毫米
        while (l > paper) 
            cnt++;
            paper *= 2;
        
        System.out.println("需要折叠:" + cnt + "次");
        System.out.println("折纸的高度为" + paper / 1000 + "米,超过了珠峰的高度");
    

练习5、从键盘输入整数,输入0结束,统计输入的正数、负数的个数

    public static void checkNum() 
        Scanner scanner = new Scanner(System.in);
        int cnt_1 = 0, cnt_2 = 0;
        while (true) 
            int num = scanner.nextInt();
            if (num > 0) 
                cnt_1++;
             else if (num < 0) 
                cnt_2++;
             else if (num == 0) 
                System.out.println("正数 " + cnt_1 + "\\t 负数 " + cnt_2);
                return;
            
        
    

以上是关于Java while 循环的主要内容,如果未能解决你的问题,请参考以下文章

Java 循环结构 - for, while 及 do...while

Java while循环

java_do-while循环和while循环区别

Java 循环结构 - for, while 及 do...while

JAVA06-while循环,do while循环

Java基础13----循环语句