注意: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