在Java中,如何跳出当前的多重嵌套循环?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在Java中,如何跳出当前的多重嵌套循环?相关的知识,希望对你有一定的参考价值。

最外层循环前加一个标签
然后用break即可 如下:
class Text
public static void main(String arg[])
a: for(int i=0;i<5;i++) //加入标签a
for(int j=0;j<5;j++)
if(i==2)
break a; //打断标签a代表的循环
System.out.print(i+""+j+" ");

System.out.println();


程序将会有如下运行结果:
00 01 02 03 04
10 11 12 13 14
而不是有5行
这就是a的作用 break打断时直接打断标签a代表的循环 从而跳出最外层循环
参考技术A 单独使用 break 表示跳出本层循环
break xxx 表示跳出某个循环,像楼上那样,其中xxx的位置自己设定

参考资料:你参考一下他们有个讲座www.mldnjava.cn

Java 如何跳出多重嵌套循环体?

1. 在最外层循环语句前定义一个标号,循环体内任意位置都可以使用带有标号的break语句跳出外层循环,结束整个循环。

        System.out.println("MainClass1 Start...");
        
        ko:
        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 ko;
            }
        }
        
        System.out.println("MainClass1 End.");

运行结果:

MainClass1 Start...
i=0,j=0
i=0,j=1
i=0,j=2
i=0,j=3
i=0,j=4
i=0,j=5
MainClass1 End.

注:标号一定是加在循环体前面,不能放在带标号break语句所在的循环体之后;break+标号有点像goto语句,如果循环体包含的代码片太长,且嵌套多层循环使用了多个标号,会导致代码不易读。

2. 使用boolean变量做flag,作为外层循环体结束的条件,赋予变量带有业务意义的名字。

        System.out.println("MainClass1 Start...");
        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;
                }
            }
        }
        System.out.println("MainClass1 End.");

运行结果:

MainClass1 Start...
i=0,j=0
i=0,j=1
i=0,j=2
i=1,j=0
i=1,j=1
MainClass1 End.

注:这个办法看起来易读一些,个人感觉比第1个好,如果很多层的嵌套循环,需要在外面每一层都加上这个flag作为结束条件。

当然,我相信还有更好的更实用的办法,你有你牛逼,有就贴出来吧。

 

以上是关于在Java中,如何跳出当前的多重嵌套循环?的主要内容,如果未能解决你的问题,请参考以下文章

面试在Java中如何跳出当前的多重嵌套循环?

在JAVA中如何跳出当前的多重嵌套循环

在 Java 中,如何跳出当前的多重嵌套循环?

在 Java 中,如何跳出当前的多重嵌套循环?

4在JAVA中如何跳出当前的多重嵌套循环?-Java面试题答案

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