可以使用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