3.4 控制流语句
源文件中的语句通常按照出现的先后次序自顶向下执行。控制流语句打破这种常规,它通过决策、循环和分支等,使程序可以条件执行特定的代码块。本节介绍Java程序语言支持的决策语句(if-then、if-then-else、switch)、循环语句(for、while、do-while)和分支语句(break、continue、return)。
3.4.1 if-then语句和if-then-else语句
1. if-then语句
if-then语句是最基本的控制流语句。该语句使得当某个条件为真时,程序只执行特定的代码段。再以自行车为例来说明。自行车只有在运动时,Bicycle类才可以使用刹车减速。如下为applyBrakes方法的一种实现:
当条件为假时(也就是说自行车不再运动),就直接跳出if-then语句。
另外,如果then子句只包含一条语句,那么一对花括弧可以省略:
何时忽略花括弧取决于编程人员个人的喜好。但是,忽略花括弧会降低代码的强壮性。忽略花括弧后经常会犯一个错误,那就是在then子句中添加第二条语句时忘记添加必需的花括弧。编译器不会捕获该类错误,但程序的运行结果是错的。
2. if-then-else语句
if-then-else语句为条件为假时提供第二条执行路径。在applyBrakes方法中使用if-then-else语句执行某个动作,表示在自行车不处于运动状态采取刹车产生的动作。在这个例子中,该动作就是打印错误消息语句:
下述IfElseDemo根据testscore的值对成绩定级:90分及以上为A,80分及以上为B,以此类推。
程序输出如下:
注意,testscore的值可能同时满足复合语句“76 >= 70”和“76 >= 60”中的多个表达式。但是,条件一旦满足,就是执行相应的语句(grade = 'C')而且不会计算后续条件。