多选择结构switch
switch支持部分基本数据类型(primitive data types),如:byte、short、int、long、char;不支持boolean、float、double。
在 Java 7之前,switch 只能支持 byte、short、char、int或者其对应的封装类以及 Enum 类型。在 Java 7中,String支持被加上了
示例代码如下
int x =3;
String season="";
switch(x){
case 1:
season="winter";
break;
case 2:
season="winter";
break;
...
case 6:
season="summer";
break;
...
default:
season="invalid season";
break;
}
break关键字可以结束switch语句,如果没有break,则从符合条件的case开始一直往下执行到switch结束或者遇到break
case 1:
case 2:
case 3:
sth="spring";
break;
case 6:
case 7:
case 8:
sth="summer"
break;
default:
...
break;
关于default的位置问题
default的运用,是当switch语句里,所有的case语句都不满足条件时,则执行default语句。在这里我们要分几种情况讨论
- default在switch开头
若所有case都不满足条件,则执行default,并执行default语句之后的case语句,直到break或结束
default在switch中间
若所有case都不满足条件,同上,直接执行default语句,并执行default语句之后的case语句,直到break或结束,如图
default在switch结尾
若所有case语句都不满足条件,则执行default语句,结束;若有case满足,则执行case语句直到遇到break或switch语句结束。
没有特殊需求的话,一定把default放在switch结尾。