在 Java 中,continue 是用于跳过当前循环体中剩余语句,直接进入下一次循环的控制语句。它有一些明确的使用限制和注意点,下面系统说明:
continue 只能出现在以下三种循环里:
forwhiledo-while❌ 不能用于:
ifswitch错误示例:
if (a > 0) {
continue; // 编译错误
}
switch 中的误区在 switch 里 不能直接用 continue,即使 switch 在循环中也不行:
for (int i = 0; i < 10; i++) {
switch (i) {
case 1:
continue; // ❌ 编译错误
}
}
✅ 正确方式:
break 跳出 switchcontinuecontinue 可以用在增强 for 循环中:
for (String s : list) {
if (s == null) continue;
}
⚠️ 但注意:
continue 控制底层迭代器forEach(Consumer) 的 lambda 中使用 continue错误示例:
list.forEach(s -> {
if (s == null) continue; // ❌ 编译错误
});
Java 支持带标签的 continue:
outer:
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {
if (j == 1) continue outer;
}
}
限制:
❌ 错误示例:
outer:
{
continue outer; // 编译错误
}
在 try-finally 或 try-with-resources 中,continue 会正常触发 finally:
for (int i = 0; i < 3; i++) {
try {
if (i == 1) continue;
} finally {
System.out.println("finally");
}
}
✅ finally 仍会执行
⚠️ 但不能用 continue 跳过 finally
| 语句 | 作用 |
|---|---|
continue |
跳过本次循环 |
break |
结束整个循环 |
return |
结束方法 |
✅ 适合:
if❌ 不建议:
continuecontinue 替代清晰的逻辑结构如果你愿意,我可以:
break vs continue 的示例continue免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。