在 Java 里,continue 用来跳过当前循环体中本次剩余的代码,直接进入下一次循环。它虽然简单,但确实有一些使用限制和注意点,下面系统地给你讲一下。
continue 的基本作用for (int i = 0; i < 5; i++) {
if (i == 2) {
continue;
}
System.out.println(i);
}
输出:
0
1
3
4
当 i == 2 时,continue 直接跳到 i++,不执行后面的 println。
continue 的使用限制continue 只能出现在循环中,否则编译错误。
✅ 可用于:
forwhiledo...while❌ 不能用于:
ifif (true) {
continue; // ❌ 编译错误
}
continue 只能跳过一次循环迭代,不能用来“跳出多层逻辑”。
for (...) {
continue; // 只能回到本层循环
}
switch 中不能直接用 continuefor (int i = 0; i < 3; i++) {
switch (i) {
case 1:
continue; // ✅ 可以(continue 属于 for)
case 2:
break; // ✅ switch 的 break
}
}
⚠️ 注意:
switch 里 没有 continue 的概念continue 是 属于外层 for 的for (String s : list) {
if (s == null) {
continue;
}
System.out.println(s);
}
✅ 完全合法
continue 可以带标签(但不常用)Java 支持带标签的 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);
}
}
⚠️ 限制:
continue vs break 对比| 对比项 | continue | break |
|---|---|---|
| 作用 | 跳过本次循环 | 结束整个循环 |
| 是否可用在 switch | ❌(除非在循环内) | ✅ |
| 是否可用在循环 | ✅ | ✅ |
| 是否可带标签 | ✅ | ✅ |
continue 会结束循环continue; // 只跳过本次,不会结束循环
public void test() {
continue; // ❌ 编译错误
}
continue✅ 适合场景:
ifif (value < 0) {
continue;
}
continue只能在循环中使用,用来跳过本次循环,不能直接用于switch、方法或普通代码块,也不能跳出多层循环(除非用标签)。
如果你愿意,我也可以帮你对比 return / break / continue 的使用场景,或者结合你现在的代码帮你分析该不该用 continue。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。