原文:JAVA中的break[标签]continue[标签]用法
注意:JAVA中的标签必须放在循环之前,且中间不能有其他语句。例如:tag:for或while或do--while;
1.使用break退出一层循环(与C/C++中的break用法一样)
public static void main(String args[])
{
int i=0;
while(i<100)
{
if(i==10) break;
System.out.println("i="+i);
i++;
}
}
Attention:当break用在一组嵌套循环时,将仅跳出最里面的循环。
2.使用break退出多层循环(与C/C++中的goto用法类似,跳过与标签最近的即最外层循环)
public static void main(String args[])
{
outer:
for(int i=0; i<3; i++)
{
System.out.print("Pass "+i+":");
for(int j=0; j<100; j++)
{
if(j==10)
break outer;
System.out.print(j+" ");
}
System.out.println("This will not print");
}
System.out.println("loops complete.");
}
程序的输出:
Pass 0: 0 1 2 3 4 5 6 7 8 9 loops complete.
continue的使用
1.在一层循环中的使用(与C/C++中的用法一样)
public static void main(String args[])
{
for(int i=0; i<10; i++)
{
System.out.print(i+" ");
if(i%2==0)
continue;
System.out.println("");
}
}
输出结果:
0 1
2 3
4 5
6 7
8 9
2.在多层循环中使用(提前结束的是标签最近的最外层循环体的一次循环,提前进入最外层循环的下次循环)
public static void main(String args[])
{
outer:
for(int i=0; i<10; i++) for(int k=0;k<10;k++) {
for(int j=0; j<10; j++)
{
if(j>i)
{
System.out.println();
continue outer;
}
System.out.print(" "+(i*j));
}} System.out.println();
}
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