Java 如何跳出多重巢狀迴圈體?

2021-09-10 19:04:57 字數 969 閱讀 1498

1. 在最外層迴圈語句前定義乙個標號,迴圈體內任意位置都可以使用帶有標號的break語句跳出外層迴圈,結束整個迴圈。

system.out.println("mainclass1 start...");

ko:for (int i = 0; i < 10; i++)

}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 = , , };

boolean found = false;

for (int i = 0; i < arr.length && !found; i++) }}

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作為結束條件。

forEach跳出迴圈體

在foreach中,不能使用 continue 和 break 可以使用 return 或 return false 跳出迴圈,效果與 for 中 continue 一樣。注意該方法無法一次結束所有迴圈。foreach 跳出本次迴圈,使用return 1,2,3,4,5 foreach functi...

java跳出多重迴圈

普通的break和continue只能跳出乙個迴圈或者終止某一次迴圈。system.exit 0 與return表示退出程式。最近碰到乙個問題 在迴圈最裡層跳出多層迴圈 public class test system.out.println 外層迴圈 system.out.println 三層迴圈...

如何跳出巢狀迴圈

我們經常在迴圈體中,在執行業務邏輯之前進行是否滿足某些條件的判斷,如果不滿足條件則跳出迴圈,從而大大加快執行速度,下面就簡單總結一下如何跳出迴圈。for int i 0 i 10 i 你要執行的業務邏輯 當執行到i 5這次迴圈時,則會跳出本次迴圈,下邊的業務邏輯不會執行,直接執行i 6的迴圈!跳出整...