在学习软考、C++的时候总是会碰到break、continue和return,他们都是表示退出的的意思,却是有不同的使用场景。(实例用Java语言)
一、 使用break语句在Java中,break有三种作用。
①在switch语句中,用来终止一个语句序列。
②被用来退出一个循环。
③能作为一种goto语句来使用。
解释:
1 switch语法格式如下:
switch(expression){
case value :
//语句
break; //可选
case value :
//语句
break; //可选
//你可以有任意数量的case语句
default : //可选
//语句
}
2 使用break语句直接强行退出循环,忽略循环体中任何其他语句和循环条件。
// 使用break退出循环
class BreakLoop {
public static void main(String args[]) {
for(int i=0; i<100; i++) {
if(i == 10) break; // terminate loop if i is 10
System.out.println("i: " + i);
}
System.out.println("Loop complete.");
}
}
在一个循环中可以使用一个以上的break语句,但是太多的break语句会破坏代码结构。switch语句中break仅影响switch语句,不会影响其他任何循环。
3 把break 当作goto 一种形式来用 break语句除在switch语句和循环中使用之外,它还能作为goto 语句一种“文明”形式来使用。Java 中没有 goto 语句,因为goto 语句提供一种改变程序运行流程非结构化方式。这通常使程序难以理解和难于维护。它也阻止某些编译器优化。但是,有些地方goto 语句对于构造流程控制是有用而且是合法。
例如,从嵌套很深循环中退出时, goto 语句就很有帮助。因此,Java 定义break 语句一种扩展形式来处理这种情况。通过使用这种形式break,你可以终止一个或者几个代码块。这些代码块不必是一个循环或一个switch语句一部分,它们可以是任何块。而且,由于这种形式break 语句带有标签,你可以明确指定执行从何处重新开始。你将看到,break带给你是goto 益处,并舍弃goto 语句带来麻烦。
例如,从嵌套很深循环中退出时, goto 语句就很有帮助。因此,Java 定义break 语句一种扩展形式来处理这种情况。通过使用这种形式break,你可以终止一个或者几个代码块。这些代码块不必是一个循环或一个switch语句一部分,它们可以是任何块。而且,由于这种形式break 语句带有标签,你可以明确指定执行从何处重新开始。你将看到,break带给你是goto 益处,并舍弃goto 语句带来麻烦。
二、使用continue语句
continue语句有时强迫一个循环提早反复使用,continue语句和break语句相似。所不同的是,它不是退出一个循环,而是开始循环的一次新迭代。
continue语句在while 和do while 循环中,continue 语句使控制直接转移给控制循环条件表达式,然后继续循环过程。在for 循环中,循环反复表达式被求值,然后执行条件表达式,循环继续执行。
continue语句在while 和do while 循环中,continue 语句使控制直接转移给控制循环条件表达式,然后继续循环过程。在for 循环中,循环反复表达式被求值,然后执行条件表达式,循环继续执行。
三、使用return语句
return语句用来明确地从一个方法返回,返回到该调用的方法的语句处,继续执行。
return返回一个只给调用该方法的语句,返回值的数据类型必须与方法的声明中返回值的类型一致。
return当方法说明中用void声明返回类型为空时,应使用这种格式,不返回任何值。
使用一句话总结:return 退出该方法; break 退出本次循环,执行循环体下面的语句; continue 仅跳过当次循环。
理解的不是很清晰,相互学习!