多层嵌套break跳出指定循环

平常break最常出现的就是在for循环或者while循环中跳出到当前循环,但是在多层循环嵌套下break还能跳出指定的循环

语法结构如下

"自己定义的名称" : {
    for|while(){
        break "自己定义的名称";
    }
}

实例:

定义两个数组

        int[] nums1 = new int[6];
        nums1[4] = 4;
        int[] nums2 = new int[6];
        nums2[2] = 2;

开始循环

        int i, j;
        a : {
            for (i = 0; i < nums1.length; i++) {
                b : {
                    while(true){
                        for (j = 0; j<nums2.length; j++) {
                            if(nums2[j] == 2){
                                break b;
                            }
                            if(nums1[i] == 4){
                                break a;
                            }
                        }
                    }
                }
                System.out.println(j);
            }
        }
        System.out.println(i);

打印结果

为了展示效果,我写的是三层循环嵌套,最里面的是循环nums2数组,第二层循环是while循环,如果没有break b的存在,那while就是个死循环。

我写的是当nums2数组中有值等于2的时候便跳出循环,打印nums2数组的索引 j,所以能够看到控制台打印的是2.

打印四次是由于最外层循环执行了四次,当执行到第五次循环nums数组的索引为4时,break a跳出所有循环执行打印nums2数组的索引 i

猜你喜欢

转载自blog.csdn.net/liangjiabao5555/article/details/109236691