在 Java 中,while 循环不执行,通常只有几种常见原因。下面按“最常见 → 最容易忽略”来说明,并给出示例。
false(最常见)int i = 10;
while (i < 5) {
System.out.println(i);
i++;
}
✅ 结果:一次都不会执行
原因:
while 先判断条件,条件为 false,直接跳过循环体。
false(但你认为会是 true)boolean flag = false;
while (flag) {
System.out.println("run");
}
✅ 不执行,因为 flag 一直是 false
注意区别:
int i = 0;
while (i < 5) {
// 没有 i++
}
这是死循环,不是“不执行”。
✅ 会执行,但永远不会结束
break 提前退出(看起来像没执行)int i = 0;
while (i < 5) {
break;
}
✅ 第一次进入就退出
public static void main(String[] args) {
// return;
while (false) {
System.out.println("x");
}
}
或:
return 提前结束int x = 0;
while (x = 0) { // 编译错误(int 不能当 boolean)
}
如果是:
boolean b = false;
while (b = false) { // 永远 false
}
✅ 不执行
Scanner sc = new Scanner(System.in);
while (sc.hasNextInt()) {
// 没输入就结束
}
false?return / break?如果你愿意,可以把你的 while 循环代码贴出来,我可以直接帮你指出“为什么没执行”。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。