黑马程序员技术交流社区

标题: 在JAVA中如何跳出当前的多重嵌套循环? [打印本页]

作者: zhao543    时间: 2017-3-21 19:16
标题: 在JAVA中如何跳出当前的多重嵌套循环?
在Java中,要想跳出多重循环,可以在外面的循环语句前定义一个标号,然后在里层循环体的代码中使用带有标号的break 语句,
即可跳出外层循环。例如,
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;
                    }
                }
            }

try {
            for (int i = 0; i < 4; i++) {
                for (int j = 0; j < 5; j++) {
                    System.out.println("i=" + i + "; j=" + j);
                    if (j == 3) {
                        throw new Exception();
                    }
                }
            }
        } catch (Exception e) {
            System.out.println("e");
        }
另外,我个人通常并不使用标号这种方式,而是让外层的循环条件表达式的结果可以受到里层循环体代码的控制,例如,要在二
维数组中查找到某个数字。
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;
            }
        }
    }
作者: starhub    时间: 2017-3-22 10:54
用标记跳出,break只能跳出当前循环

作者: 情不知所起    时间: 2017-3-22 12:23
这不是张老师的教案题吗???




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2