引用
Java的关键字break,return、continue在使用中可以很好的提高代码的执行效率,比如在执行一段循环操作之前,如果先判断条件不满足,就continue直接下一组循环,或者执行到满足的条件了,无需再循环遍历,就可以break跳出循环,不必对后续代码进行无效的执行了。
概念
我们从引言中也大概知道了三者的区别,先贴一段网上看到的区别描述:
continue:跳出本次循环继续下一次循环
break: 跳出循环体,继续执行循环外的函数体
return: 跳出整个函数体,函数体后面的部分不再执行。
实践
看了概念部分,我们可以动手来操作一下,撸一段代码,代码如下:
@Test
public void testBreakContinueReturn(){
for (int i = 0; i < 5; i++){
if (i == 2){
break;
}
System.out.println("break[" + i + "]");
}
System.out.println("break end!");
for (int i = 0; i < 5; i++){
if (i == 2){
continue;
}
System.out.println("continue[" + i + "]");
}
System.out.println("continue end!");
for (int i = 0; i < 5; i++){
if (i == 2){
return;
}
System.out.println("return[" + i + "]");
}
System.out.println("return end!");
}
执行结果如下:
执行结果很明显的印证了概念上说的内容。
后记
为了更能的说明return是结束函数体,demo中通过调用一个方法,修改的代码如下:
public void testBreakContinue(){
for (int i = 0; i < 5; i++){
if (i == 2){
break;
}
System.out.println("break[" + i + "]");
}
System.out.println("break end!");
for (int i = 0; i < 5; i++){
if (i == 2){
continue;
}
System.out.println("continue[" + i + "]");
}
System.out.println("continue end!");
returnInMethod();
System.out.println("return to call method");
for (int i = 0; i < 5; i++){
if (i == 2){
return;
}
System.out.println("return[" + i + "]");
}
System.out.println("return end!");
}
private void returnInMethod(){
System.out.println("return in method");
return;
}