带标签的 break 和 continue 可精准控制外层循环;标签写在循环语句前,格式为“标识符:”,须紧邻循环且无换行或中间语句。

Java 中用带标签的 break 和 continue,可以精准跳出或跳过指定外层循环,避免写标志变量或重复逻辑。
标签怎么写?放在循环语句前,后面紧跟冒号
标签名是合法标识符,必须紧贴在循环语句(for、while、do-while)之前,中间不能有换行或语句:
outer: for (int i = 0; i ✅ 正确outer: for (int i = 0; i ❌ 标签和循环不能换行-
int x = 5; outer: for (...) { ... }❌ 标签必须直接修饰循环语句
用带标签的 break 跳出指定外层循环
执行 break 标签名; 会立即终止对应标签标记的整个循环,程序继续执行该循环之后的代码:
outer: for (int i = 0; i <p>输出结果为:</p> <font color="gray"> 外层 i = 0<br> 内层 j = 0<br> 内层 j = 1<br> 内层 j = 2<br> 外层 i = 1<br> 内层 j = 0<br> 循环结束 </font> <h3>用带标签的 continue 跳过当前外层循环的本轮迭代</h3> <p><code>continue 标签名;</code> 会让控制权跳转到对应标签循环的下一次迭代开始处(即执行循环的更新语句,再判断条件):</p> <pre class="brush:java;toolbar:false;">outer: for (int i = 0; i <p>效果是:每当内层遇到 <code>j == 1</code>,就直接进入下一轮外层循环,所以 <code>i=0</code> 和 <code>i=1</code> 都不会执行到“外层结束”那行。</p> <h3>注意事项和常见误区</h3>
- 标签只对紧邻的循环语句生效,不能跨方法或作用域引用
- 不能用在
if或普通语句块上,只能修饰循环 -
break和continue后的标签名必须已声明且可见(作用域内) - 过度使用标签可能降低可读性,建议嵌套不超过两层;三层以上优先考虑提取成方法
Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南











