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

5.3 有多个选择的switch

9月18日,9:00,晴

我:“switch语句也属于选择语句?”

KNOWALL:“对,并且是多选择的语句,即有多个可以选择,例如吃早饭时,水果、面包、牛奶……你可以随便选,如图5-5所示。switch语句方法就是为了判断多条件而诞生的,它的使用和if嵌套语句十分相似,但是比它更简单。”

图5-5 switch语句的选择

5.3.1 switch语句的形式

switch语句是一个对条件进行判断的条件语句,它的格式如下:

测试3: 编写代码测试switch语句的用法。

解决思路: switch的表达式expression必须是byte、short、int和char类型,每个value必须是与expression类型兼容的一个常量,而且不能重复。根据上述原则,该题思路如下:

(1)定义变量a,设初始值是123。

(2)通过switch语句实现判断处理。

编写的实现代码【光盘:源代码/第5章/switch123.java】如下:

执行程序,可以看到如图5-6所示的结果。

图5-6 执行结果

5.3.2 无break的switch语句

9月18日,9:20,晴

我:“在上面的语句中,出现了很多次的break语句,它有什么作用?”

KNOWALL:“其实switch语句可以没有这个关键字,当switch遇到一些关键字‘break’时,程序会自动结束switch语句,如果把switch语句中的break关键字去掉,程序将自动运行,直到程序结束。”

测试4: 编写代码演示关键字break在switch中的作用。

解决思路: 思路如下:

(1)定义变量a,赋值为33。

(2)通过switch语句实现判断处理。

编写的实现代码【光盘:源代码/第5章/ switchone1.java】如下:

执行程序,可以看到如图5-7所示的结果。

图5-7 无break的switch语句

5.3.3 case没有执行语句的情况

9月18日,9:40,晴

我:“我有一个疑问,编写了这么多switch代码,我发现switch里的case语句都有执行语句,但是如果没有呢?会是什么情况?”

KNOWALL:“在case语句后没有执行的代码是十分常见的,前面switch的case语句都有执行语句。下面给出一段代码,演示无执行语句的switch处理。”

代码【光盘:源代码/第5章/ switchcase.java】如下:

执行程序,可以看到如图5-8所示的结果。

下面将讲解一段代码,你会觉得这些程序也有必要,而且很简单。下面将用它判断指定月份属于哪一季,其代码【光盘:源代码/第5章/switchcase1.java】如下:

执行程序,可以看到如图5-9所示的结果。

图5-8 执行结果

图5-9 执行结果

5.3.4 default可以不在末尾

通过前面的学习,很多初学者可能会误认为default一定位于switch的结尾,其实不然,它可以位于switch的任意位置,请看下面一段代码:

这段代码很好理解,就是a对应着哪一个,则从那一条语句向下执行,直到程序结束,如果下面没有对应的程序,则从default开始执行,直到程序结束,执行程序可以看到如图5-10所示的结果。

图5-10 执行结果 ZMwBwPsgLCTMbiqtuOGgYZSQ5DS9XB84y3KcZUT6CAni1SV8Vna92XHfA6Amk6RU

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