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; } } }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· 一文读懂知识蒸馏
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下