JAVA跳出指定For循环

1. 问题描述

当有多个for循环的时候,如何跳出最外层循环?

2. 解决方案

2.1 正常单个for循环

package com.example.demo;

public class TestFor {

    public static void main(String[] args) {

        for (int i = 0; i < 6; i++) {

            System.out.println(i);
        }

    }
}

结果:
0
1
2
3
4
5

跳出单层循环,使用break正常跳出。

package com.example.demo;

public class TestFor {


    public static void main(String[] args) {

        for (int i = 0; i < 6; i++) {
            if (i > 3) {
                break;
            }
            System.out.println(i);
        }

    }
}
结果:
0
1
2
3

2.2 多层循环的情况,使用break仅仅是跳出了最里面的循环。

package com.example.demo;

public class TestFor {


    public static void main(String[] args) {


        for (int j = 0; j < 2; j++) {
            for (int i = 0; i < 6; i++) {
                if (i > 3) {
                    break;
                }
                System.out.println("----IIII值:"+i);
            }
            System.out.println("----JJJJ值:"+j);
        }


    }
}

结果:
----IIII值:0
----IIII值:1
----IIII值:2
----IIII值:3
----JJJJ值:0
----IIII值:0
----IIII值:1
----IIII值:2
----IIII值:3
----JJJJ值:1

从结果可以看出,当i大于3的时候,跳出了最里面的i循环,但是外层的j循环还是正常执行了。

2.3 跳出指定层循环

package com.example.demo;

public class TestFor {


    public static void main(String[] args) {

        jj:
        for (int j = 0; j < 2; j++) {
            ii:
            for (int i = 0; i < 6; i++) {
                if (i > 3) {
                    break jj;
                }
                System.out.println("----IIII值:"+i);
            }
            System.out.println("----JJJJ值:"+j);
        }


    }
}

结果:
----IIII值:0
----IIII值:1
----IIII值:2
----IIII值:3

​ 简单来说就是给for循环起个名字,命名规则是:名字+半角冒号,例如:jj:,然后在break后面跟上名字,就跳出对应for循环。


原文地址:https://www.cnblogs.com/ruanjianlaowang/p/11182555.html