温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

java Continue 为何跳过当前迭代

发布时间:2026-09-13 09:17:49 来源:亿速云 阅读:83 作者:小樊 栏目:编程语言

在 Java 里,continue 的作用就是“跳过当前这次循环迭代,直接进入下一次迭代”,这是语言规定的语义,不是“意外跳过”。

常见几种情况和容易误解的点如下:


1. continue 的基本语义(最重要)

for (int i = 0; i < 5; i++) {
    if (i == 2) {
        continue;
    }
    System.out.println(i);
}

输出:

0
1
3
4

解释:

  • i == 2 时,continue 会:
    • 跳过 本次循环中 continue 之后的代码
    • 直接进入 下一次循环条件判断 / 迭代
  • 所以 i == 2 时没有打印

✅ 这是“设计如此”,不是 bug


2. 在 for 循环中:continue 仍会执行 i++

for (int i = 0; i < 3; i++) {
    if (i == 1) continue;
}
  • i == 1continue
  • i++ 仍然会执行
  • 下一轮是 i == 2

for 循环的迭代语句不受 continue 影响


3. 在 while 循环中容易“死循环”

int i = 0;
while (i < 3) {
    if (i == 1) {
        continue; // ❌ 可能死循环
    }
    i++;
}

原因:

  • continue 跳过了 i++
  • i 永远是 1

✅ 正确写法:

while (i < 3) {
    i++;
    if (i == 2) continue;
}

4. continue 只影响最内层循环

for (int i = 0; i < 3; i++) {
    for (int j = 0; j < 3; j++) {
        if (j == 1) continue;
    }
}
  • continue 只跳过 内层循环当前 j
  • 外层 i 不受影响

5. 带标签的 continue(很少用)

outer:
for (int i = 0; i < 3; i++) {
    for (int j = 0; j < 3; j++) {
        if (j == 1) continue outer;
    }
}
  • continue outer → 跳过外层当前迭代,直接进入下一次外层循环

一句话总结

continue 就是“本次循环我不干了,直接下一次”
它不是跳过整个循环,也不是跳出循环(break 才是)

如果你有具体代码觉得“它不该跳过却跳过了”,可以把代码贴出来,我可以帮你精确分析是哪一行导致的。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI