首先文字描述一下区别:
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不仅终止当前循环,还跳出了当前方法。