Java中控制内层循环终止最直接的方式是break或continue,二者均只作用于最近一层循环:break跳出当前内层循环,continue跳过当前内层本次迭代;若需终止外层循环,须用标签+break或布尔标志位。

Java 中嵌套 for 循环里,控制内层循环终止最直接的方式就是用 break 或 continue,它们只作用于当前所在的那一层循环,不会影响外层。
内层 break:跳出当前内层循环,继续执行外层下一次迭代
当满足某个条件时,break 会立刻结束内层 for 循环,程序回到外层循环的末尾,接着判断外层是否继续下一轮。
- 它不会中断外层循环,只是“退出内层本轮完整执行”
- 适合用于“找到一个目标就跳过剩余内层处理”的场景,比如在二维数组中查找第一个匹配项后不再检查该行其余元素
内层 continue:跳过当前内层本次迭代,直接进入内层下一次循环
continue 不会退出内层循环,而是忽略当前 j 对应的剩余语句,立即递增 j 并重新判断条件。
- 常用于过滤掉某些不满足条件的内层组合,比如跳过特定列或排除某些数据
- 例如:遍历 i=1~3、j=1~3 时,遇到 j==2 就跳过打印,结果只输出 j=1 和 j=3 的组合
注意:默认 break/continue 只影响最近一层循环
Java 的 break 和 continue 默认绑定到离它最近的 for/while/do-while 结构。也就是说:
立即学习“Java免费学习笔记(深入)”;
- 写在内层 for 里的
break,只跳出内层 for - 写在内层 for 里的
continue,只跳过内层 for 当前这一次 - 外层循环完全不受干扰,照常运行
如果想从内层直接终止外层循环,需要额外手段
这不属于“控制内层终止”,而是跨层控制,常见做法有两种:
- 加标签(label)+
break 标签名:如outer: for(...) { for(...) { if(...) break outer; } } - 用布尔标志位:在外层循环条件中加入
&& flag,内层触发时设flag = false并break


















