注意:JAVA中的标签必须放在循环之前,且中间不能有其他语句。例如:tag:for或while或do--while;
1.使用break退出一层循环(与C/C++中的break用法一样)
1 public static void main(String args[]) 2 { 3 int i=0; 4 while(i<100) 5 { 6 if(i==10) break; 7 System.out.println("i="+i); 8 i++; 9 } 10 }
Attention:当break用在一组嵌套循环时,将仅跳出最里面的循环。
2.使用break退出多层循环(与C/C++中的goto用法类似,跳过与标签最近的即最外层循环)
1 public static void main(String args[]) 2 { 3 outer: 4 for(int i=0; i<3; i++) 5 { 6 System.out.print("Pass "+i+":"); 7 for(int j=0; j<100; j++) 8 { 9 if(j==10) 10 break outer; 11 System.out.print(j+" "); 12 } 13 System.out.println("This will not print"); 14 } 15 System.out.println("loops complete."); 16 }
程序的输出:
Pass 0: 0 1 2 3 4 5 6 7 8 9 loops complete.
continue的使用
1.在一层循环中的使用(与C/C++中的用法一样)
1 public static void main(String args[]) 2 { 3 for(int i=0; i<10; i++) 4 { 5 System.out.print(i+" "); 6 if(i%2==0) 7 continue; 8 System.out.println(""); 9 } 10 }
输出结果:
0 1
2 3
4 5
6 7
8 9
2.在多层循环中使用(提前结束的是标签最近的最外层循环体的一次循环,提前进入最外层循环的下次循环)
1 public static void main(String args[]) 2 { 3 outer: 4 for(int i=0; i<10; i++) 5 6 for(int k=0;k<10;k++) 7 8 { 9 for(int j=0; j<10; j++) 10 { 11 if(j>i) 12 { 13 System.out.println(); 14 continue outer; 15 } 16 System.out.print(" "+(i*j)); 17 }} 18 19 System.out.println(); 20 }
0
0 1
0 2 4
0 3 6 9
0 4 8 12 16
0 5 10 15 20 25
0 6 12 18 24 30 36
0 7 14 21 28 35 42 49
0 8 16 24 32 40 48 56 64
0 9 18 27 36 45 54 63 72 81