·选择结构语句_switch语句
A:格式:
switch(表达式){
case 条件1:
语句1;
break;
case 条件2:
语句2;
break;
...
default:
语句n+1;
break;
}
1)表达式:可以是byte, short, int, char,jdk5以后支持neum(枚举),jdk7以后支持String
2)case:后面的值要和表达式进行比较
3)break:表示程序到这里中断,跳出switch语句
4)dafault:如果所有的情况都不匹配,就执行这里,然后结束,这里的break可省略
B:执行流程:
1)先计算表达式的值
2)和每一个case进行匹配,如果为true就执行对应语句,看到break结束
3)如果没有匹配,就执行default的语句
C:注意事项:
1)case后只能是常量,不能是变量,多个case后面的值不能相同
2)defualt可省略,但不建议,它的作用是对不正确的情况给出提示
3)break可以省略,但会出现case穿透,直到遇到break或者执行完才结束
4)default可以放在任意位置,但建议放在最后
5)switch结束条件:a.遇到break结束,b.执行到末尾结束,因此最后的break可省略
D:面试题:
switch语句的表达式可以是byte、long、String吗?
答:可以是byte,long不可以,jdk7以后可以是String
E:练习:
1)键盘录入一个数字(1-7),输出对应的星期
2)输入月份,显示该月份的天数
(我们可以利用case穿透来简化代码)
一三五七八十腊,三十一天用不差