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

来源:互联网 发布:王晨芳 网络黄金 编辑:程序博客网 时间:2024/05/01 03:31
选择结构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中任意一个值时,打印“今天是休息日”。






阅读全文
1 0
原创粉丝点击