C++程序员学Java系列之十一:流程控制语句switch,case,break,default

xiaoxiao2021-02-28  83

选择结构switch

switch 条件语句也是一种很常用的选择语句,它和if条件语句不同,它只能针对某个表达式的值作出判断,从而决定程序执行哪一段代码。

例如,在程序中使用数字1~7来表示星期一到星期天,如果想根据某个输入的数字来输出对应中文格式的星期值,可以通过下面的一段伪代码来描述:

用于表示星期的数字

如果等于1,则输出星期一

如果等于2,则输出星期二

如果等于3,则输出星期三

如果等于4,则输出星期四

如果等于5,则输出星期五

如果等于6,则输出星期六

如果等于7,则输出星期天

对于上面一段伪代码的描述,大家可能会立刻想到用if…else if…else语句来实现,但是由于判断条件比较多,实现起来代码过长,不便于阅读。

Java中提供了一种switch语句来实现这种需求,在switch语句中使用switch关键字来描述一个表达式,使用case关键字来描述和表达式结果比较的目标值,当表达式的值和某个目

标值匹配时,会执行对应case下的语句。具体实现代码如下:

int week = 5; switch (week) { case 1: System.out.println("星期一"); break; case 2: System.out.println("星期二"); break; case 3: System.out.println("星期三"); break; case 4: System.out.println("星期四"); break; case 5: System.out.println("星期五"); break; case 6: System.out.println("星期六"); break; case 7: System.out.println("星期天"); break; default: System.out.println("输入的数字不正确..."); break; }

同时switch语句还有穿透特性

例如,要判断一周中的某一天是否为工作日,同样使用数字1~7来表示星期一到星期天,当输入的数字为1、2、3、4、5时就视为工作日,否则就视为休息日。

代码如下:

int week = 2; switch (week) { case 1: case 2: case 3: case 4: case 5: // 当 week 满足值 1、2、3、4、5 中任意一个时,处理方式相同 System.out.println("今天是工作日"); break; case 6: case 7: // 当 week 满足值 6、7 中任意一个时,处理方式相同 System.out.println("今天是休息日"); break; }

上述代码中,当变量week值为1、2、3、4、5中任意一个值时,处理方式相同,都会打印“今天是工作日”。同理,当变量week值为6、7中任意一个值时,打印“今天是休息日”。

转载请注明原文地址: https://www.6miu.com/read-47780.html

最新回复(0)