1. 程式人生 > >Java 從一個多層巢狀迴圈中直接跳出

Java 從一個多層巢狀迴圈中直接跳出

Java中如何從一個多層巢狀迴圈中退出,例如下面,有兩個迴圈,break只能退出一個for迴圈,不能直接跳過第二個for迴圈

for(Type type : types){for(Type t : types2){if(some condition){// Do something and break...  break;// 這樣只退出了最裡的for迴圈  }}}

解決方案

可以用break+label的語法,例子如下

publicclassTest{publicstaticvoid main(String[] args){  
    outerloop:for(int i=0; i <
5; i++){for(int j=0; j <5; j++){if(i * j >6){System.out.println("Breaking");break outerloop;}System.out.println(i +" "+ j);}}System.out.println("Done");}}

首先在for迴圈前加標籤,如例子中的outerloop,然後在for迴圈內break label(如本例的outerloop),就會跳出該label指定的for迴圈。