购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

7.1 分支语句

分支语句提供了一种控制机制,使得程序具有了“判断能力”,能够像人类的大脑一样分析问题。分支语句又称条件语句,条件语句使部分程序可根据某些表达式的值被有选择地执行。Java编程语言提供了if和switch两种分支语句。

7.1.1 if语句

由if语句引导的选择结构有if结构、if-else结构和else-if结构。

1.if结构

如果条件表达式为true就执行语句组,否则就执行if结构后面的语句。如果语句组只有一条语句,可以省略大括号,但从编程规范角度来看不要省略大括号,省略大括号会使程序的可读性变差。语法结构如下:

if结构的示例代码如下:

程序运行结果如下:

2.if-else结构

所有的语言都有if-else结构,而且结构的格式基本相同,语法结构如下:

当程序执行到if语句时,先判断条件表达式,如果值为true,则执行语句组1,然后跳过else语句及语句组2,继续执行后面的语句;如果条件表达式的值为false,则忽略语句组1而直接执行语句组2,然后继续执行后面的语句。

if-else结构的示例代码如下:

程序运行结果如下:

3.else-if结构

else-if结构的语法结构如下:

可以看出,else-if结构实际上是if-else结构的多层嵌套,它明显的特点就是在多个分支中只执行一个语句组,而其他分支都不执行,所以这种结构可以用于有多种判断结果的分支中。

else-if结构的示例代码如下:

程序运行结果如下:

其中,char grade是声明字符变量,经过判断最后结果是C。

7.1.2 switch语句

switch提供多分支程序结构语句。下面先介绍一下switch语句基本形式的语法结构,如下所示:

switch语句中“表达式”计算结果只能是int、byte、short、char和String类型,以及枚举类型,不能是long等其他类型。每个case后面只能跟一个int、byte、short、char、String和枚举类型的常量,default语句可以省略。

当程序执行到switch语句时,先计算条件表达式的值,假设值为A,然后拿A与第1个case语句中的值1进行匹配,如果匹配则执行语句组1,语句组执行完成后不跳出switch,只有遇到break才跳出switch。如果A没有与第1个case语句匹配,则与第2个case语句进行匹配,如果匹配则执行语句组2,以此类推,直到执行语句组n。如果所有的case语句都没有执行,就执行default的语句组n+1,这时才跳出switch。

示例代码如下:

输出结果如下:

上述代码将100分制转换为“优”“良”“中”“差”评分制,其中7分和6分都是“中”成绩,把case 7和case 6当成一种情况考虑。代码第①行计算表达式获得0~9分数值。代码第②行的case 7是贯通的,只有它的后面不加break,程序流执行完当前case后,则会进入下一个case,因此本例中case 7和case 6都执行相同的代码。 YD/V3kta+f+7b3mlYbeZ7X8TZ7zvZqfqszevq3K3R178YXYQ/3DQ982xBSrYOzXl

点击中间区域
呼出菜单
上一章
目录
下一章
×