在 Java 里,continue 是用于跳过当前循环体中剩余代码、直接进入下一次循环的关键字。使用时有一些常见注意事项和易踩的坑,下面按使用场景说明。
for (int i = 0; i < 10; i++) {
if (i % 2 == 0) continue;
System.out.println(i);
}
✅ 输出:1 3 5 7 9
continue 只是跳过本次循环剩余部分,不会结束整个循环。
for / while / do-while 中的区别(⚠重点)for 循环for (int i = 0; i < 5; i++) {
if (i == 2) continue;
System.out.println(i);
}
✅ 正常执行
continue 后仍然会执行 i++
while 循环(⚠容易死循环)int i = 0;
while (i < 5) {
if (i == 2) continue;
System.out.println(i);
i++;
}
❌ 死循环!
因为 continue 跳过了 i++
✅ 正确写法:
while (i < 5) {
i++;
if (i == 2) continue;
System.out.println(i);
}
continue(容易忽略)outer:
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {
if (j == 1) continue outer;
System.out.println(i + "," + j);
}
}
✅ 输出:
0,0
1,0
2,0
⚠ 注意:
continue outer; 是跳到外层循环的下一次if (true) {
continue; // 编译错误
}
switch 中单独使用switch (x) {
case 1:
continue; // 错误(除非在循环内)
}
✅ 正确示例(在循环中):
for (int i = 0; i < 3; i++) {
switch (i) {
case 1: continue;
}
}
for (String s : list) {
if (s == null) continue;
}
✅ 没问题
⚠ 但不能使用标签跳出外层循环
✅ 适合:
❌ 不适合:
✅ 替代方案(更清晰):
if (condition) {
// 正常逻辑
}
continue只跳过本次循环,不影响循环结构本身;
while中要防止漏写更新语句,嵌套循环慎用标签。
如果你有具体代码场景(比如嵌套循环、Spring、Stream 里想用 continue),可以贴出来我帮你分析。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。