JAVA中跳出多重嵌套循环的几种方法

一、标签方式
类似于C语言的goto,用法是在最外层循环的上边放置一个标签,然后在里层的循环代码中使用break+标签的方式,就可以跳到最外层循环

public static void main(String[] args) {
    outer:
    for(int i=0;i<3;i++){
        for(int j=0;j<2;j++){
            if(i==1){
                continue outer;//使用continue会跳过这次最外层循环,然后进入下次最外层循环
            }
            System.out.println("i="+i+"   j="+j);
        }
    }
    System.out.println("跳出成功!");
}

结果:
i=0   j=0
i=0   j=1
i=2   j=0
i=2   j=1
跳出成功!

public static void main(String[] args) {
    outer:
    for(int i=0;i<3;i++){
        for(int j=0;j<2;j++){
            if(i==1){
                break outer;//使用break会直接跳出最外层循环
            }
            System.out.println("i="+i+"   j="+j);
        }
    }
    System.out.println("跳出成功!");
}

结果:
i=0   j=0
i=0   j=1
跳出成功!

二、break,continue
break跳出当前循环,通过内部跳出条件控制跳出外部循环,continue的话是跳过本次循环进入下一次循环

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;
            }
        }
    } 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值