分支结构之二:switch-case
1.格式
switch(表达式){
case 常量1:
执行语句1;
break;
case 常量2:
执行语句2;
break;
……
default:
}
default(默认)相当于else
根据switch表达式中的值,依次匹配各个case中的常量。一旦匹配成功,则进入相应case结构中,调用其执行语句。 当调用完执行语句以后,则仍然继续向下执行其他case结构中的执行语句,直到遇到break关键字或此switch-case结构末尾为止。
break,可以使用在switch-case结构中,表示一旦执行到此关键字,就跳出switch-case结构
switch结构中的表达式,只能是如下的6种数据类型之一:byte、short、char、int、枚举类型(JDK5.0新增)、String类型(JDK7.0新增)
case之后只能声明常量。不能声明范围
break关键字是可选的
default: 相当于if-else结构中的else
default结构式可选的,而且位置是灵活可变的
如果switch-case结构中的多个case的执行语句相同,则可以考虑合并。
//这是错误的
总结:
凡是可以使用switch—case的结构,都可以转换为if-else。反之,不成立。
我们写分支结构时,我们优先选择使用switch-case。 原因: switch-case的执行效率稍高。