由于byte、short和char类型的值能够被隐式地转为int类型,所以这些类型以及他们对应包装类类型都可以作为switch的表达式。但是long、float、double、String类型都不能隐式地转为int类型,因此他们不能被用作switch表达式。一定要用的话,必须将其强制转为int类型才能使用;
switch可以支持final类型的变量(final变量必须是编译时的常量),不能是变量的表达式;一般必须在case语句的结尾添加break语句,因为一旦通过switch语句确定了入口点,就会顺序执行后面的代码,知道遇到关键字break才会结束。