【Java面试题】56 在JAVA中如何跳出当前的多重嵌套循环?

在Java中,要想跳出多重循环,可以在外面的循环语句前定义一个标号,然后在里层循环体的代码中使用带有标号的break 语句,
即可跳出外层循环。例如,

复制代码
public class xunhuan {
    public static void main(String[] args) {
        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;
                }
            } 
        for(int i=0;i<4;i++){
                        for(int j=0;j<5;j++){
                            System.out.println("i="+i+"; j="+j);
                            if(j==3){
                                i=4;
                                break;
                            }
                        }
                    }
    }
}
复制代码

运行结果:

i=0,j=0
i=0,j=1
i=0,j=2
i=0,j=3
i=0,j=4
i=0,j=5
i=0; j=0
i=0; j=1
i=0; j=2
i=0; j=3

另外,我个人通常并不使用标号这种方式,而是让外层的循环条件表达式的结果可以受到里层循环体代码的控制,例如,要在二
维数组中查找到某个数字。

复制代码
public class xunhuan {
    public static void main(String[] args) {
        int arr[][] = {{1,2,3},{4,5,6,7},{9}};
        boolean found = false;
        for(int i=0;i<arr.length && !found;i++)    {
                for(int j=0;j<arr[i].length;j++){
                    System.out.println("i=" + i + "j=" + j);
                    if(arr[i][j]  == 5) {
                        found = true;
                        break;
                    }
                }
            } 
    }
}
复制代码

运行结果:

i=0,j=0
i=0,j=1
i=0,j=2
i=1,j=0
i=1,j=1

posted @ 2018-04-10 15:59  十月围城小童鞋  阅读(186)  评论(0编辑  收藏  举报