带标签的continue语句可跳出指定外层循环的当前迭代;需在外层循环前加合法标签(如outer:),内层用continue outer;跳转至该循环下一次迭代,标签作用域限于所标循环及其内部嵌套。

带标签的 continue 语句可以跳出**指定外层循环的当前迭代**,而不是仅跳出最内层循环。关键在于给外层循环加上标签(label),然后在内层用 continue 标签名; 跳转到该标签所在循环的下一次迭代开始处。
给外层循环加标签
标签是一个标识符后跟冒号(:),放在循环语句之前,且与循环之间不能有其他语句(包括空行或注释)。
- 标签名必须合法(如
outer、mainLoop),不能是关键字 - 标签作用域仅限于它所标记的循环及其内部嵌套结构
- 常见写法:
outer: for (int i = 0; i
在内层用 continue 标签名
当执行到 continue outer; 时,程序会立即终止当前所有内层循环的执行,跳回到 outer: 所在的循环头部,判断条件并进入下一次迭代。
- 不是跳出整个外层循环(那是
break 标签名的行为) - 它跳过本次外层循环体剩余部分,直接进行“外层循环变量更新 + 条件判断”
- 例如:外层是
for,则先执行i++,再判断i
实际例子:跳过某行所有列的处理
假设遍历二维数组,当某行首元素为 -1 时,跳过整行(不处理该行任何列):
outer: for (int i = 0; i <h3>注意事项</h3> <p>容易混淆的点:</p>
-
continue(无标签)只影响**最近的内层循环** -
break 标签名是跳出到标签所在循环的**之后**(即完全退出该循环) -
continue 标签名是跳到标签所在循环的**开头**(继续下一轮) - Java 中标签只能用于
for、while、do-while,不能用于if或普通代码块










