流程控制之 break ,continue,return的区别

首先文字描述一下区别:

break 为终止当前循环。跳出当前循环,但是后面的语句(即当前方法中当前循环之外后面的语句)还是会执行。

continue 为停止本次循环,继续执行后面的循环。当然后面的语句还是会执行

return  为终止当前循环(跟break很像),跳出当前方法。

看概念是不是不容易明白,下面直接撸代码。简单明了

public class Test {
public static void main(String[] args) {
for(int i=1;i<4;i++){
System.out.println("外层循环,执行了第"+i+"次");
for(int k=1;k<3;k++){
System.out.println("内层循环,执行了第"+k+"次");
}
}

System.out.println("循环之后的语句");
}
}

这是一个嵌套循环,没有加控制语句输出结果为

外层循环,执行了第1次
内层循环,执行了第1次
内层循环,执行了第2次
外层循环,执行了第2次
内层循环,执行了第1次
内层循环,执行了第2次
外层循环,执行了第3次
内层循环,执行了第1次
内层循环,执行了第2次

循环之后的语句

然后加上控制语句试试

public class Test {
public static void main(String[] args) {
for(int i=1;i<4;i++){
System.out.println("外层循环,执行了第"+i+"次");
for(int k=1;k<3;k++){
System.out.println("内层循环,执行了第"+k+"次");

break;
}
}

System.out.println("循环之后的语句");
}
}

输出结果为

外层循环,执行了第1次
内层循环,执行了第1次
外层循环,执行了第2次
内层循环,执行了第1次
外层循环,执行了第3次
内层循环,执行了第1次
循环之后的语句

 

可以看到break 只是跳出了当前的循环,没有终止循环外的另一个循环。并且循环后的语句也执行了、

下面看看continue

 

public class Test {
public static void main(String[] args) {

for(int i=1;i<4;i++){
if(i==2){
continue;
}
System.out.println("循环,执行了第"+i+"次");
}

System.out.println("循环之后的语句");
}
}

输出结果为:

循环,执行了第1次
循环,执行了第3次
循环之后的语句

可以看到 i=2时 循环没有执行

 

看看return

public class Test {
public static void main(String[] args) {
for(int i=1;i<4;i++){
System.out.println("外层循环,执行了第"+i+"次");
for(int k=1;k<3;k++){
System.out.println("内层循环,执行了第"+k+"次");
return;
}
}
System.out.println("循环之后的语句");

}

}

输出结果为:

外层循环,执行了第1次
内层循环,执行了第1次

可以看到return不仅终止当前循环,还跳出了当前方法。

posted @ 2017-09-21 11:01  奋斗的渣渣  阅读(127)  评论(0编辑  收藏  举报