在实际生活中经常需要做出一些判断,比如开车来到一个十字路口,这时需要对红绿灯进行判断,如果是红灯,就停车等候;如果是绿灯,就通行。Java 中有一种特殊的语句叫作选择语句,它也需要对一些条件做出判断,从而决定执行哪一段代码。选择语句分为if 条件语句和switch 条件语句。下面对以上2 种选择结构语句进行介绍。
分支控制
让程序有选择地执行,分支控制有三种:① 单分支;② 双分支;③ 多分支。
单分支语法:
if 条件语句
if 条件语句分为三种语法格式,具体如下:
① if 语句;
② if…else 语句;
③ if…else if…else 语句。
由于这三种语法格式都有自身的特点,因此,接下来针对这三种格式进行详细讲解。
1. if 语句
if 语句是指如果满足某种条件,就进行某种处理,其语法格式如下所示:
在上述语法格式中,判断条件是一个布尔值,当值为true 时,才会执行{}中的语句。
if 语句的执行流程如图2.8 所示。
图2.8 if 语句的执行流程
对if 语句有所了解后,下面通过一个案例来学习if 语句的具体用法。
【例2.11】if 语句判定一个整数是否为偶数,如文件2-11 所示。
文件2-11 Example11.java
执行结果
num 是一个偶数
2. if…else 语句
if…else 语句是指如果满足某种条件,就进行某种处理,否则就进行另一种处理,其语法格式如下所示:
接下来,通过例2.12 来实现判断奇偶数的程序。
【例2.12】用if…..else 语句来实现判断奇偶,如文件2-12 所示。
文件2-12 Example12.java
执行结果
多学一招
在Java 中有一种特殊的运算叫作三元运算,它和if…else 语句类似,语法如下:
判断条件?表达式1:表达式2
三元运算通常用于对某个变量进行赋值,当判断条件成立时,运算结果为表达式1 的值,否则结果为表达式2 的值。(www.xing528.com)
例如,如下所示:
上述代码中的if…else 语句可等价于下面语句:
3. 多分支语法
(1)if…else if…else 语句。
这种语句用于对多个条件进行判断,进行多种不同的处理,其语法格式如下所示:
if…else if…else 语句的执行流程如图2.9 所示。
图2.9 if…else if…else 语句的执行流程
接下来,通过一个案例来实现对学生考试成绩等价划分的程序。
【例2.13】用if…else if…else 语句来实现对学生考试成绩等价划分,如文件2-13 所示。
文件2-13 Example13.java
执行结果
该成绩的等级为良
4. switch 条件语句
switch 语句也是一种很常见的选择语句。和if 条件语句不同,它只能针对某个表达式的值做出判断,从而决定执行哪一段代码。
在switch 语句中,使用switch 关键字来描述一个表达式,使用case 关键字来描述和表达式结果比较的目标值,当表达式的值和某个目标值匹配时,会执行对应case 下的语句,switch语句的基本语法结构如下所示。
例如,在程序中使用数字1~7 表示周一到周日,如果想根据某个输入的数字输出中文格式的星期值,可以通过下面所示的代码来实现。
需要注意的是,在switch 语句中的表达式只能是byte、short、char、int、枚举(JDK1.5引入的)、String 类型(JDK1.7 引入的)的值,如果传入其他值,程序会报错。
【例2.14】通过switch 条件语句演示根据数字来输出中文格式的星期,如文件2-14 所示。
文件2-14 Example14.java
执行结果
在使用switch 语句的过程中,如果多个case 条件后面的执行语句是一样的,则该执行语句只需书写一次即可。
【例2.15】要判断一周中的某一天是否为工作日,同样使用数字1~7 来表示星期一到星期天,当输入的数字为1、2、3、4、5 时就视为工作日,否则就视为休息日,如文件2-15 所示。
文件2-15 Example15.java
执行结果
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。