public class Test{
public static void main(String[] args){
int[][] arr = {{1,2,3,4},{5,6,7, 8},{9, 10, 11, 12}};
new Test().dblloop1(arr);
new Test().dblloop2(arr);
new Test().dblloop3(arr);
}
public void dblloop1(int[][] arr){
label1:
for(int i=0;i < arr.length;i++){
for(int j=0;j < arr[i].length;j++){
System.out.print(arr[i][j]+" ");
if(arr[i][j] == 5)
break label1;
}
}
System.out.println("END");//
}
public void dblloop2(int[][] arr){
int i=0;
label1:
for(i=0;i < arr.length;i++){
System.out.println("i="+i);//
for(int j=0;j < arr[i].length;j++){
System.out.print(arr[i][j]+" ");
if(arr[i][j] == 5)
continue label1;
}
}
System.out.println("END");//
}
public void dblloop3(int[][] arr){
label1:
for(int i=0;i < arr.length;i++){
for(int j=0;j < arr[i].length;j++){
System.out.print(arr[i][j]+" ");
if(arr[i][j] == 5)
continue label1;
}
}
System.out.println("END");//
}
}
break直接跳出双重循环,且不再进入循环。
continue虽然跳出了双重循环,但会再次进入最外层循环,并且紧接着上一次loop,执行最外层循环的下一次loop
双重循环必须紧接着label标签。