switch(A),括号中A的取值只能是整型或者可以转换为整型的数值类型,比如byte、short、int、char、string(jdk1.7后加入)还有枚举;需要强调的是:long是不能用在switch上的。

 

case(B),括号中的B只能是常量,也就是不能是普通的变量,只能是常量整数值或者string值,或者是static final 定义的变量。才可以放进去。且case里面的数字

一定要和switch中的A类型相同。也就说明,case里面不是整数常量就是字符串常量。没有其他的常量可以存在。long类型的常量也不行。

 

且在case中一般配合break一起使用。这样能防止一直执行。而且可以定义default,在没有匹配到合适的case的时候,程序执行default中的语句。

 

例如