java中用标号配合break可直接跳出指定外层循环;标号必须紧贴在for/while/do-while语句前,不可换行或加其他语句。

Java 中用标号(Label)配合 break,是为了从多层嵌套循环中**直接跳出指定外层循环**,而不是只退出最内层。这解决了普通 break 作用范围受限的问题。
标号怎么写?位置很关键
标号必须紧贴在循环语句(for / while / do-while)前面,中间不能换行、不能加其他语句,也不能放在花括号后。
- 正确写法:outer: for (int i = 0; i
- 错误写法:outer:; 或 outer: { for (...) { ... } } 或换行后才写 for
break label; 怎么起作用?
执行 break labelName; 时,程序会立即跳转到该 label 所标记的循环语句之后的第一条可执行语句,整个被标记的循环结构(包括其所有内层循环)全部终止。
- 标签名是合法标识符,不能是关键字,建议语义清晰,比如 search、outer、mainLoop
- 只能跳转到**同一线程中、已声明且尚未结束**的带该标签的循环
- 不能跨方法使用,也不能跳进或跳出非循环结构(如 if 块)
一个典型应用场景:查找后立刻退出
比如在二维数组中找第一个值为 9 的元素,找到就不再继续遍历:
search: for (int i = 0; i <p>一旦命中,两层 for 都停止,直接执行最后那句输出。</p> <h3>和 continue label; 的区别</h3> <p>break label; 是彻底退出整个标记循环;continue label; 则是跳过当前迭代,**重新开始 label 所标记的那层循环的下一次迭代**。</p>
- 例如 continue outer; 在双层循环中,会跳回 outer: for 的开头,i++ 后继续下一轮
- 它不终止循环,只是“跳过本次”
Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南











