JAVA如何跳出多層循環


1. break、continue、return 的區別:

break默認是跳出最里層的循環,也就是break所在的最近的那層循環

continue是終止本次循環,繼續下次循環

return 結束當前方法

3層循環的簡單測試:

 

 1 for (int i = 0; i < 3; i++) {
 2             for1:
 3             for (int j = 0; j <3; j++) {
 4                 for2:
 5                     for (int m = 0; m < 3; m++) {
 6                         for3:
 7                             System.out.println(i+"--"+j+"--"+m);
 8                     }
 9             }
10         }

 

 1 0--0--0
 2 0--0--1
 3 0--0--2
 4 0--1--0
 5 0--1--1
 6 0--1--2
 7 0--2--0
 8 0--2--1
 9 0--2--2
10 1--0--0
11 1--0--1
12 1--0--2
13 1--1--0
14 1--1--1
15 1--1--2
16 1--2--0
17 1--2--1
18 1--2--2
19 2--0--0
20 2--0--1
21 2--0--2
22 2--1--0
23 2--1--1
24 2--1--2
25 2--2--0
26 2--2--1
27 2--2--2

 

簡單測試break:

 

 1 for (int i = 0; i < 3; i++) {
 2             for1:
 3             for (int j = 0; j <3; j++) {
 4                 for2:
 5                     for (int m = 0; m < 3; m++) {
 6                         for3:
 7                             if (m == 1) {
 8                                 break;
 9                             }
10                             System.out.println(i+"--"+j+"--"+m);
11                     }
12             }
13         }

 

1 0--0--0
2 0--1--0
3 0--2--0
4 1--0--0
5 1--1--0
6 1--2--0
7 2--0--0
8 2--1--0
9 2--2--0

 

簡單測試continue:

 

 1 for (int i = 0; i < 3; i++) {
 2             for1:
 3             for (int j = 0; j <3; j++) {
 4                 for2:
 5                     for (int m = 0; m < 3; m++) {
 6                         for3:
 7                             if (m == 1) {
 8                                 continue;
 9                             }
10                             System.out.println(i+"--"+j+"--"+m);
11                     }
12             }
13         }
 1 0--0--0
 2 0--0--2
 3 0--1--0
 4 0--1--2
 5 0--2--0
 6 0--2--2
 7 1--0--0
 8 1--0--2
 9 1--1--0
10 1--1--2
11 1--2--0
12 1--2--2
13 2--0--0
14 2--0--2
15 2--1--0
16 2--1--2
17 2--2--0
18 2--2--2

簡單測試return:

 

 1 for (int i = 0; i < 3; i++) {
 2             for1:
 3             for (int j = 0; j <3; j++) {
 4                 for2:
 5                     for (int m = 0; m < 3; m++) {
 6                         for3:
 7                             if (m == 1) {
 8                                 return;
 9                             }
10                             System.out.println(i+"--"+j+"--"+m);
11                     }
12             }
13         }

 

1 0--0--0

 

2. 如何跳出多層循環

思路:對每一層設置標志位,設置方法---變量名:

注意這里的冒號至關重要

簡單測試:

 1 for (int i = 0; i < 3; i++) {
 2             for1:
 3             for (int j = 0; j <3; j++) {
 4                 for2:
 5                     for (int m = 0; m < 3; m++) {
 6                         for3:
 7                             if (m == 1) {
 8                                 break for2;
 9                             }
10                             System.out.println(i+"--"+j+"--"+m);
11                     }
12             }
13         }

 

1 0--0--0
2 0--1--0
3 0--2--0
4 1--0--0
5 1--1--0
6 1--2--0
7 2--0--0
8 2--1--0
9 2--2--0


 

 


免責聲明!

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



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