牛骨文教育服务平台(让学习变的简单)
博文笔记

for循环里面break和continue的区别

创建时间:2017-07-30 投稿人: 浏览次数:5016

很多初学Java的同学可能对break和continue跳出for循环有些疑惑,

其实简单的说就是:在多层嵌套for循环里面break是跳出包裹continue这一层for循环的所有循环,跳出之后不会继续执行continue这一层for循环的剩余循环

而continue是跳出包裹continue这一层for循环的这一次循环,跳出之后会继续执行continue这一层for循环的剩余循环

下面会用几小例子说明


//在内层循环时,当j==1时让它跳出j==1这次循环,之后继续执行j=2,3的循环

for(int i=0;i<3;i++){
System.out.println("外层for循环"+i);
for(int j=0;j<4;j++){
if(j==1)
continue;
// if(j==2)
// break;
System.out.println("内层循环"+j);
}
}

结果:外层for循环0
    内层循环0
    内层循环2
    内层循环3
    外层for循环1
      内层循环0
    内层循环2
        内层循环3
    外层for循环2
    内层循环0
    内层循环2
    内层循环3

可以看得出来continue只是跳出了j==1那次内循环,并且会继续执行剩余的循环,现在我们把注解的break放出来看下结果

代码:

for(int i=0;i<3;i++){
System.out.println("外层for循环"+i);
for(int j=0;j<5;j++){
if(j==1)
continue;
if(j==3)
break;
System.out.println("内层循环"+j);
}
}

结果:

外层for循环0
内层循环0
内层循环2
外层for循环1
内层循环0
内层循环2
外层for循环2
内层循环0
内层循环2

从结果可以看出外层循环都执行了,而内层循环当道j==3,即跳出这层for循环不执行这层for循环剩余的for循环了

还可以通过设置标识跳到指定标识,如下:

loop:for(int m=0;m<2;m++){
System.out.println("m= "+m);
for(int i=0;i<3;i++){
System.out.println("外层for循环"+i);
for(int j=0;j<5;j++){
if(j==1)
continue;
if(j==3)
break loop;
System.out.println("内层循环"+j);
}
}
}

结果:

m= 0
外层for循环0
内层循环0
内层循环2

可以看出当j==3时跳到了指定位置

声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。