Java Switch语句是多路分支语句,它提供了一种简单的方法,可以根据表达式的值将执行分派到代码的不同部分。
Switch语法格式
- switch(表达式){
- case 常量值 1:
- 语句块1
- [break;]
- ......
- case 常量值 n:
- 语句块n
- [break;]
- deafault:
- 语句块 n+1;
- [break;]
- }
switch case 语句有如下规则:
①根据switch表达式中的值,依次匹配各个case中的常量。一旦匹配成功,则进入相应的case结构中,调用其执行语句。
②调用其执行语句后,仍然继续向下执行其他case结构中的执行语句,直到遇到break关键字或switch-case结构末尾结束。
③break,可以使用在switch-case结构中,表示一旦执行此关键字,就跳出switch-case结构。
④switch结构中的表达式,只能是如下6种数据类型之一:byte 、short、char、int、枚举类型(jdk5.0新增)、String类型(jdk7.0新增)。
⑤case后只能声明常量,不可以是范围。
⑥default:相当于if-else中的else,default结构是可选的,且位置是灵活的。
Switch 流程图
Switch源码案例
输入星期数,显示今天的运动项目,周一跑步、周二游泳、 周三慢走、 周四单车、 周五爬山、周六拳击、周日休息。
- // switch 进行匹配
- switch (str){
- case "周一":
- System.out.println("跑步");
- bool = false;
- break;
- case "周二":
- System.out.println("游泳");
- bool = false;
- break;
- case "周三":
- System.out.println("慢走");
- bool = false;
- break;
- case "周四":
- System.out.println("骑自行车");
- bool = false;
- break;
- case "周五":
- System.out.println("爬山");
- bool = false;
- break;
- case "周六":
- System.out.println("拳击");
- bool = false;
- break;
- case "周日":
- System.out.println("休息");
- bool = false;
- break;
- default :
- System.out.println("请按格式输入星期数,如:周一");
- break;
- }