
本期主要介绍判断语句if.....&选择语句switch......
2.2 判断语句2--if...else
2.3 判断语句3--if..else if...else
2.5 if语句和三元运算符的互换
在一个程序执行的过程中,各条语句的执行顺序对程序的结果是有直接影响的。也就是说,程序的
流程对运行结果
有直接的影响。所以,我们必须清楚每条语句的执行流程。而且,很多时候我们要通过控制语句的
执行顺序来实现
我们要完成的功能。

if 语句第一种格式: if

执行流程
首先判断关系表达式看其结果是 true 还是 false
如果是 true 就执行语句体
如果是 false 就不执行语句体



if 语句第二种格式: if...else

执行流程
首先判断关系表达式看其结果是 true 还是 false
如果是 true 就执行语句体 1
如果是 false 就执行语句体 2


if 语句第三种格式: if...else if ...else

执行流程
首先判断关系表达式 1 看其结果是 true 还是 false
如果是 true 就执行语句体 1
如果是 false 就继续判断关系表达式 2 看其结果是 true 还是 false
如果是 true 就执行语句体 2
如果是 false 就继续判断关系表达式 … 看其结果是 true 还是 false
…
如果没有任何关系表达式为 true ,就执行语句体 n+1 。


指定考试成绩,判断学生等级
90-100 优秀
80-89 好
70-79 良
60-69 及格
60 以下 不及格

在某些简单的应用中, if 语句是可以和三元运算符互换使用的。

switch 语句格式:

执行流程
首先计算出表达式的值
其次,和 case 依次比较,一旦有对应的值,就会执行相应的语句,在执行的过程中,遇到 break 就
会结束。
最后,如果所有的 case 都和表达式的值不匹配,就会执行 default 语句体部分,然后程序结束掉。



switch 语句中,表达式的数据类型,可以是 byte , short , int , char , enum (枚举), JDK7 后可以
接收字符串。
在 switch 语句中,如果 case 的后面不写 break ,将出现穿透现象,也就是不会在判断下一个 case 的
值,直接向后运行,直到遇到break ,或者整体 switch 结束。

上述程序中,执行 case5 后,由于没有 break 语句,程序会一直向后走,不会在判断 case ,也不会
理会 break ,直接
运行完整体 switch 。
由于 case 存在穿透性,因此初学者在编写 switch 语句时,必须要写上 break 。