在java中跳出当前的多重嵌套循环

在java中要跳出当前的多重嵌套循环可以有三种方式。

1.定义一个标记变量,在每一层循环中检查这个变量,如果检查结果匹配,则逐层跳出每层循环。

boolean flag = false;
for (int i = 0; i < 10; i++) {
    for (int j = 0; j < 10; j++)  {
        System.out.println(i, j);
        if (j == 5) {
            flag = true;
            break;
        }
    }
    if (flag) {
        break;
    }
}

这种方式需要在每一层循环中检查标记变量,比较麻烦且容易错漏。

2.通过异常捕获的方式跳出多层循环,即在想要跳出的位置抛出一个异常,然后用catch捕获该异常,利用程序异常终止来终止循环。

int i = 0;
int j = 0;
try {
    for (i = 0; i < 10; i++) {
        for (j = 0; j < 10; j++)  {
            if (j == 5) {
                throw new Exception("跳出多层循环");
            }
        }
    }
} catch (Exception e) {
    System.out.println(e.getMessage());
}
System.out.println(跳出循环时 + "i = " + i + ",j = " + j);

这种方式是利用了异常机制,比较取巧,但是异常捕捉可能会打乱原有程序的正常逻辑,且消耗性能,因此个人强烈不建议使用这种方式。

3.使用带标签的break语句跳出循环,即在循环前设置一个标签变量,然后在需要跳出的循环处使用break标签变量,从而跳到标签定义的位置来终止循环。

yanggb1: for (int i = 0; i < 10; i++) {
    for (int j = 0; j < 10; j++)  {
        System.out.println(i, j);
        if (j == 5) {
            break yanggb1;
        }
    }
}

这种方式是个人比较推荐的方式,逻辑清晰又简单易用。

 

"好人告诉我方向,坏人教会我成长。"

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章