while循环默认先判断后执行,每次执行前先求值布尔表达式,为true才执行循环体;若初始即为false,则循环体一次都不执行。

Java 中的 while 循环本身就是“先判断、后执行”的结构,这是它的默认行为,无需额外设置。
while 循环天然支持先判断后执行
while 语句在每次进入循环体前,都会先求值其后的布尔表达式。只有表达式结果为 true,才会执行循环体内的代码;如果一开始就是 false,循环体一次都不会执行。
语法形式如下:
// 循环体(只有表达式为 true 时才执行)
}
和 do-while 的关键区别
容易混淆的是 do-while 循环,它是“先执行、后判断”,至少执行一次。而 while 是严格“先判断、后执行”:
-
while (false) { ... }→ 循环体完全不运行 -
do { ... } while (false);→ 循环体会执行 1 次,再判断退出
典型使用场景示例
比如读取用户输入直到输入合法数字:
Scanner sc = new Scanner(System.in);int num = 0;
boolean valid = false;
while (!valid) {
System.out.print("请输入一个正整数:");
if (sc.hasNextInt()) {
num = sc.nextInt();
if (num > 0) valid = true;
}
if (!valid) System.out.println("输入无效,请重试。");
}
这里每次循环开始前都检查 !valid,条件不满足就直接跳出,不会多执行一次处理逻辑。
注意事项
- 确保循环条件能在某次迭代中变为 false,否则会陷入死循环
- 循环变量或状态应在循环体内被更新,否则条件永远不变
- 若初始条件就不满足,整个循环块被跳过——这正是“先判断”的体现
Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南











