阅读背景:

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

来源:互联网 

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

package cn.hgnulb.package0324;

/**
 * 参考:https://blog.csdn.net/amen_wu/article/details/53913319
 */
public class Demo {
    public static void main(String[] args) {
        System.out.println("方法一:标号方式");
        outerloop:
        for (int i = 1; i < 5; i++) {
            for (int j = 1; j < 5; j++) {
                if (i * j > 6) {
                    System.out.println("Breaking");
                    break outerloop;
                }
                System.out.println(i + " " + j);
            }
        }
        System.out.println("Done");

        System.out.println("方法二:条件控制");
        boolean finished = false;
        for (int i = 1; i < 5 && !finished; i++) {
            for (int j = 1; j < 5; j++) {
                if (i * j > 6) {
                    System.out.println("Breaking");
                    finished = true;
                    break;
                }
                System.out.println(i + " " + j);
            }
        }
        System.out.println("Done");

        System.out.println("方法二变形:条件控制");
        for (int i = 1; i < 5; i++) {
            for (int j = 1; j < 5; j++) {
                if (i * j > 6) {
                    System.out.println("Breaking");
                    i = 5;
                    break;
                }
                System.out.println(i + " " + j);
            }
        }
        System.out.println("Done");

        System.out.println("方法三:抛出异常");
        try {
            for (int i = 1; i < 5; i++) {
                for (int j = 1; j < 5; j++) {
                    if (i * j > 6) {
                        System.out.println("Breaking");
                        throw new Exception();
                    }
                    System.out.println(i + " " + j);
                }
            }
            System.out.println("Done");// 此行代码不会执行
        } catch (Exception e) {
            // System.out.println("e");
        }
    }
}package cn.hgnulb.packa



你的当前访问异常,请进行认证后继续阅读剩余内容。

分享到: