break和continue的区别:
break: 使用在switch-case,循环结构中 作用:结束当前循环
continue: 使用在循环结构中 作用:结束当次循环
相同点:后面不能声明执行语句,如果加了,会直接报错。
对比下面两份代码和输出结果:
public class com.procontrol.nonworking.breakcontinue01 {
public static void main(String[] args) {
for (int i=1;i<10;++i){
if(i%4==0){
break; }
System.out.print(i);
}
}
}
//此时break用来结束当前循环
//输出结果为:123
public class com.procontrol.nonworking.breakcontinue01 {
public static void main(String[] args) {
for (int i=1;i<10;++i){
if(i%4==0){
continue; }
System.out.print(i);
}
}
}
//此时continue用来结束当次循环
//输出结果为:1235679
我们来看看在嵌套循环中break和continue是怎么用的
public class breakcontinue02 {
public static void main(String[] args) {
for(int i=1;i<=3;i++){
for(int j=1;j<=10;j++){
if(j%4==0) {
break;}
System.out.print(j+" ");
}
System.out.println();
}
}
}
/*
输出结果:
1 2 3
1 2 3
1 2 3
*/
public class breakcontinue02 {
public static void main(String[] args) {
for(int i=1;i<=3;i++){
for(int j=1;j<=10;j++){
if(j%4==0) {
continue;}
System.out.print(j+" ");
}
System.out.println();
}
}
}
/*
输出结果:
1 2 3 5 6 7 9 10
1 2 3 5 6 7 9 10
1 2 3 5 6 7 9 10
*/
注意:break和continue都用来控制距离最近的一层循环
注意:在循环前加上label标志,然后break label 可以结束内外层循环。
public class breakcontinue02 {
public static void main(String[] args) {
label:for(int i=1;i<=3;i++){
for(int j=1;j<=10;j++){
if(j%4==0) {
break label;}
System.out.print(j+" ");
}
System.out.println();
}
}
}
/*
输出结果:
1 2 3
*/
注意:在循环前加上label标志,然后continue label 可以结束内外层当前次执行,比如没有换行,但是循环仍然继续。
public class breakcontinue02 {
public static void main(String[] args) {
label:for(int i=1;i<=3;i++){
for(int j=1;j<=10;j++){
if(j%4==0) {
continue label;}
System.out.print(j+" ");
}
System.out.println();
}
}
}
/*
输出结果:
1 2 3 1 2 3 1 2 3
*/