打破外循环是否允许内循环完成所有执行?

Does breaking an outer loop allow the inner loop finish all it's execution?

可能是一个简单的问题,但是,有两个嵌套循环,如果我在外部循环上执行 break,内部循环也会立即中断吗?还是让它完成执行,然后立即破坏外部?

例如:

outer: for (int i=0; i<10; i++) {
    for (int j=0; j<10; j++) {
        if (j == 5) break outer;
        System.out.println(j);
    }
    System.out.println("test");
}

这段代码会在中断外循环之前打印从 05 的数字,还是会打印从 010 的数字?

System.out.println("test");也会执行吗?

它将打印从 04 的数字。

5 不包括在内,因为满足条件时不执行打印 (j==5)。如果要包含它,请将条件更改为 (j>5)

关于你的第二个问题,不,"test" 永远不会被打印出来。带标签的 break 结束外循环(里面的每条语句,包括内循环)并结束程序的执行,只需打印:

0
1
2
3
4

编辑:经过测试和确认,以上是结果输出。