在JAVA中如何跳出当前的多重嵌套循环

时间:2023-01-16 20:18:32

方案一:使用标记

public static void main(String[] args) {
        System.out.println("标记前");
        ok: for (int i = 0; i < 10; i++) {
            for (int j = 0; j < 10; j++) {
                System.out.println("i=" + i + ",j=" + j);
                if (j == 5)
                    break ok;
            }
        }
        System.out.println("标记后");
    }

结果:

标记前
i=0,j=0
i=0,j=1
i=0,j=2
i=0,j=3
i=0,j=4
i=0,j=5
标记后

不推荐使用标记,因为它容易破坏代码的执行顺序

方案二:使外层的循环条件表达式的结果可以受到里层循环体代码的控制

public static void main(String[] args) {
        System.out.println("标记前");
        boolean flag = true; for (int i = 0; i < 10; i++) {
            for (int j = 0; j < 10 && flag; j++) {
                System.out.println("i=" + i + ",j=" + j);
                if (j == 5)
                    flag = false;
            }
        }
        System.out.println("标记后");
    }