switch语句是多分支语句,用来实现如下表示的多分支选择结构:
switch(表达式)
{
case 常量表达式1:
语句1;
break;
case 常量表达式1:
语句1;
break;
case ...:
....;
default:
break;
}
if语句只有2个分支可供选择(当然也可用else if,那就不止2个了),而实际问题中常需要用到多分支选择,如果嵌套的if语句层数多,程序冗长而且可读性降低,所以可以选择使用switch来代替。
但语句需要注意的点是:
1.switch后面括号内的‘表达式’,其值可以是整型,字符型,枚举型数据;
2.当表达式的值与某个case条件相等,就执行里面的语句;若所有都不匹配,就执行default条件里面的语句;
3.每个case的常量表达式的值必须互不相同,否则会相互矛盾;
4.执行完一个case后面的语句后,流程控制会转移到下一个case继续执行,所以记得break出来。
‘case 常量表达式’只是起语句标号作用,并不是在该处进行条件判断。
5.switch语句中default之前的case按顺序执行(首先确定是否命中case,命中case,从命中case开始执行),最后则执行default,如果在default 之后没有break,则继续执行default之后的语句,直到跳出switch。