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循環。



免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM