在 Java 中,“Continue 结合标签(label)”通常说的是 带标签的 continue 语句,主要用于多层循环中,指定跳出当前哪一层循环的本次迭代。
下面详细说明。
labelName:
for / while (...) {
for / while (...) {
if (condition) {
continue labelName;
}
}
}
labelName 是自定义标签名continue labelName; 表示:
跳过 标签所在循环 的当前这次迭代,直接进入该循环的下一轮
outer:
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {
if (j == 1) {
continue outer;
}
System.out.println("i=" + i + ", j=" + j);
}
}
输出:
i=0, j=0
i=1, j=0
i=2, j=0
✅ 当 j == 1 时,直接跳回 outer 循环,内层循环被中断本次
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {
if (j == 1) {
continue; // 只跳过内层
}
System.out.println("i=" + i + ", j=" + j);
}
}
输出:
i=0, j=0
i=0, j=2
i=1, j=0
i=1, j=2
i=2, j=0
i=2, j=2
✅ 这里的 continue 只影响内层循环
outer:
while (true) {
int i = 0;
while (i < 3) {
if (i == 1) {
i++;
continue outer;
}
System.out.println(i);
i++;
}
break;
}
❌ 标签只能用在循环语句前
label:
if (...) { } // 错误
❌ 不能跳转到非包围结构的标签
✅ 标签名后面必须是 : 且紧跟循环
✅ 建议:少用标签 continue
for (int i = 0; i < 3; i++) {
boolean skip = false;
for (int j = 0; j < 3; j++) {
if (j == 1) {
skip = true;
break;
}
}
if (skip) continue;
}
| 用法 | 作用 |
|---|---|
continue |
跳过当前循环本次 |
continue label |
跳过标签所在循环的本次 |
| 标签位置 | 必须放在循环前 |
| 使用建议 | 多层循环复杂逻辑时谨慎使用 |
如果你有具体业务场景(比如嵌套 for、矩阵、搜索等),我可以帮你写更合适的示例。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。