注意:JAVA中的标签必须放在循环之前,且中间不能有其他语句。例如:tag:for或while或do--while;
1.使用break退出一层循环(与C/C++中的break用法一样)
1 public static voidmain(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 voidmain(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 breakouter;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 voidmain(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 voidmain(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 continueouter;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