在JAVA中如何跳出当前的多重嵌套循环

可以使用return,但使用return后,会跳出整个函数,多重循环后面的代码无法执行。

 1     public static void main(String[] args) {
 2         // TODO Auto-generated method stub
 3 
 4         for(int i=0;i<10;i++){
 5             for(int j=i;j<10;j++){
 6                 if(j==2){
 7                     return;
 8                 }
 9                 System.out.println("j="+j);
10             }
11             System.out.println("i="+i);
12         }
13         System.out.println("ee");
14     }
15 }

上述执行结果为:

j=0
j=1
第十三行代码没有执行。

一般不采用return。

// 第一种方式:可以采用标识

 1     public static void main(String[] args) {
 2         // TODO Auto-generated method stub    
 3         ok:
 4         for(int i=0;i<10;i++){
 5             for(int j=i;j<10;j++){
 6                 if(j==2){
 7                     break ok;
 8                 }
 9                 System.out.println("j="+j);
10             }
11             System.out.println("i="+i);
12         }
13         System.out.println("ee");
14     }
15 }

运行结果:

j=0
j=1
ee

// 第二种方式采用自定义的变量(Boolean值),并配合break使用

 1     public static void main(String[] args) {
 2         // TODO Auto-generated method stub
 3         boolean flag=false;
 4         for(int i=0;i<10&&!flag;i++){
 5             for(int j=i;j<10;j++){
 6                 if(j==2){
 7                     flag=true;
 8                     break;
 9                 }
10                 System.out.println("j="+j);
11             }
12             System.out.println("i="+i);
13         }
14         System.out.println("ee");
15     }
16 }

运行结果:

j=0
j=1
i=0
ee