break和continue在多重循环中使用
关于break和continue在java中,break的作用是跳出循环,continue的作用是跳出本次循环。
我们一般情况下,这样使用:
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println("break循环结果:");
for (int i = 0; i < 5; i++) {
for (int j = 0; j < 5; j++) {
System.out.println("i=" + i + ",j=" + j);
if (j == 2)
break;
}
}
System.out.println("continue循环结果");
for (int i = 0; i < 5; i++) {
for (int j = 0; j < 5; j++) {
if (j == 2)
continue;
System.out.println("i=" + i + ",j=" + j);
}
}
}
运行结果如下:
break循环结果:
i=0,j=0
i=0,j=1
i=0,j=2
i=1,j=0
i=1,j=1
i=1,j=2
i=2,j=0
i=2,j=1
i=2,j=2
i=3,j=0
i=3,j=1
i=3,j=2
i=4,j=0
i=4,j=1
i=4,j=2
continue循环结果
i=0,j=0
i=0,j=1
i=0,j=3
i=0,j=4
i=1,j=0
i=1,j=1
i=1,j=3
i=1,j=4
i=2,j=0
i=2,j=1
i=2,j=3
i=2,j=4
i=3,j=0
i=3,j=1
i=3,j=3
i=3,j=4
i=4,j=0
i=4,j=1
i=4,j=3
i=4,j=4
以上是跳出单层循环的情况,而需要跳出多层循环时,我们通常在外层循环中做有关的判断,再进行跳出,但除了这种方法外,还可以在外层循环前面定义一个标号,然后在内层循环中使用带有标号break或者continue的语句,就可以直接跳出多重循环,测试代码如下:
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println("break循环结果:");
grade1:
for (int i = 0; i < 5; i++) {
for (int j = 0; j < 5; j++) {
System.out.println("i=" + i + ",j=" + j);
if (j == 2)
break grade1;
}
}
System.out.println("continue循环结果");
grade2:
for (int i = 0; i < 5; i++) {
for (int j = 0; j < 5; j++) {
if (j == 2)
continue grade2;
System.out.println("i=" + i + ",j=" + j);
}
}
}
运行结果如下:
break循环结果:
i=0,j=0
i=0,j=1
i=0,j=2
continue循环结果
i=0,j=0
i=0,j=1
i=1,j=0
i=1,j=1
i=2,j=0
i=2,j=1
i=3,j=0
i=3,j=1
i=4,j=0
i=4,j=1