Java程序设计基础教程
上QQ阅读APP看书,第一时间看更新

任务2.2 选择语句

语句是程序设计最基本的单位,前面给出的例子都是顺序执行的,是否能够改变程序执行的顺序呢?请看这个问题:给出一个年份,判断这个年份是否是闰年。

2-6 if语句

知识储备

2.2.1 if语句

1.if语句

一条if语句包含一个布尔表达式和一条或多条语句,语法格式如下所示。

【参数说明】

● 如果语句块1只有一条语句,可以省略大括号;如果语句块1有多条语句,那么就不可以省略大括号。但为了增强程序的可读性,最好不要省略。后面介绍的其他if语句同理。

● 如果布尔表达式的值为true,则执行if语句中的代码块,否则执行if语句后面的代码块。

if语句的流程图如图2-12所示。

图2-12 if语句流程图

【例2-11】 if语句的应用示例。

图2-13 例2-11程序运行结果

程序运行结果如图2-13所示。

2.if-else语句

当程序中含有分支选择时,需要使用if-else语句,语法格式如下。

【参数说明】

● else必须与if成对出现。

● 语句块1和语句块2可以是单条语句,也可以是复合语句。

● 该部分程序的执行过程为:若布尔表达式的值为true,则执行语句块1,否则执行语句块2。

If-else语句的流程图如图2-14所示。

图2-14 if-else语句流程图

【例2-12】 if-else语句的应用示例。

程序运行结果如图2-15所示。

图2-15 例2-12程序运行结果

3.嵌套if语句

现实问题比较复杂,单个的if-else语句可能不能解决问题,因此Java语言提供了if语句的嵌套功能,即一个if语句中还能有一个if语句。

语法格式如下。

嵌套if语句的流程图如图2-16所示。

图2-16 嵌套if语句流程图

【例2-13】 if-else语句嵌套的应用示例。

程序运行结果如图2-17所示。

图2-17 例2-13程序运行结果

2.2.2 switch语句

2-7 switch语句

if-else语句只能有两个分支,而switch语句可以有多个分支。Switch-case语句判断一个变量与一系列值中某个值是否相等,每个值称为一个分支,因此又称为多分支选择语句。在要处理多种分支情况时,switch语句可以简化程序,使程序结构清楚明了,可读性强。switch语句的一般格式如下所示。

【参数说明】

● switch语句在运行时首先计算switch后面圆括号中“表达式”的值,这个值必须是整型或字符型。

● 各个case子句中的常量值的类型应与switch后面圆括号中“表达式”的值类型一致。

● 各case子句中的常量值具有唯一性,不允许重复。

● 语句块可以是单条语句,也可以是复合语句,复合语句不必用大括号括起来。

● default默认语句是可选的,可以省略。当表达式的值与case子句中常量的值都不匹配时,执行default默认语句。

switch语句的执行过程为:将表达式的值与各个case子句中的常量值进行比较,如果相等,则执行该case子句后面的语句块,执行完毕后,执行break语句,跳出switch语句;如果没有与表达式的值相等的case常量值,则执行default默认语句;如果没有default默认语句,则直接跳出switch语句,不进行任何操作。switch-case语句流程图如图2-18所示。

图2-18 switch-case语句流程图

【例2-14】 给定一个表示月份的数字,输出该月份的英文名称。

程序运行结果如图2-19所示。

如果代码中第3行改为“int month=13;”,将会执行default默认语句,程序运行结果如图2-20所示。

图2-19 例2-14程序运行结果

图2-20 例2-14程序运行结果(month=13)

【思考】若把break语句全部去掉,会发生什么呢?运行结果是什么?

去掉break语句后的程序运行结果如图2-21所示。

图2-21 例2-14程序运行结果(去掉break语句)

任务实施

通过储备知识的学习,可以知道任务2.2有多种可以解决的办法。

用if-else语句实现的代码如下所示。

用嵌套if语句实现的代码如下所示。

用if-else-if语句实现的代码如下所示。

任务演练

【任务描述】

减肥计划,即输入一个1~7的数字,显示对应的减肥活动。

周一:跑步

周二:游泳

周三:慢走

周四:动感单车

周五:拳击

周六:爬山

周日:好好吃一顿

【任务目的】

熟练运用各种选择语句解决简单问题,针对具体的问题挑选合适的选择语句。

【任务内容】

分析题目,判断使用switch语句来实现。编程思路如下所示。

● 输入一个数字,用一个变量接收。

● 对该数字进行判断,用switch语句实现。

● 在对应的语句控制中输出对应的减肥活动。

具体步骤如下。

1)启动Eclipse,创建Java项目,项目名称设为“项目实训2_2”。

2)创建类Test,在类体中定义变量sc用来接收输入的表示周几的数字,定义week变量用来保存该数字。

3)用switch-case语句判断,输出对应的减肥活动。

4)在代码页面上右击,在弹出的快捷菜单中选择“Run As”→“Java Application”命令,运行程序。