java 中循环执行到 break 语句后会立即终止当前循环,跳出循环体,因此循环体内位于 break 之后的代码将不再执行。程序的控制权会转移到循环结构结束后的下一条语句继续运行。

嵌套循环中 break 只退出哪一层
在嵌套循环中使用 break 时,它只会终止并跳出包含该语句的最内层循环,外层循环会继续执行。如果需要跳出多层循环,必须使用带标签的 break 语句,指定要跳出的外层循环标签。

public class NestedBreakDemo {
public static void main(String[] args) {
outer:
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {
if (j == 1) {
break outer;
}
System.out.println("i=" + i + ", j=" + j);
}
}
System.out.println("Loop finished.");
}
}
上述代码中,当 j 等于 1 时触发 break outer;,直接跳出外层循环,打印结果仅包含 i=0, j=0,随后输出 Loop finished.。
立即学习“Java免费学习笔记(深入)”;
switch 中的 break 与循环中的区别
虽然 switch 语句也使用 break,但其作用机制与循环不同。switch 中的 break 用于防止“穿透”(fall-through),即阻止程序继续执行下一个 case 分支,而不是终止整个 switch 块外的逻辑。在循环内部,break 则是直接结束循环迭代。

public class SwitchVsLoop {
public static void main(String[] args) {
int value = 2;
switch (value) {
case 1:
System.out.println("One");
break;
case 2:
System.out.println("Two");
// 没有 break,会穿透
case 3:
System.out.println("Three");
break;
}
System.out.println("After switch");
}
}
在 switch 示例中,由于 case 2 缺少 break,程序会先打印 Two,然后继续执行 case 3 的逻辑打印 Three,最后输出 After switch。这与循环中 break 立即跳出结构的语义有本质区别。


















