没想到这么个小问题,还能有这么多争议…
首先,在switch(exp)中,exp只能是整数表达式或者枚举常量。
整数表达式可以是int基本类型或Integer包装类型,因为byte,short,char都可以隐含转换为int,所以这些类型以及这些类型的包装类型也是可以的。(所以B、C正确,这时A、D间犹豫了吧?)
long和String类型都不符合switch语法的规定,并且不能隐式的转换成int类型,所以它们不能作用于switch语句中。(稍微觉得D不对了)
去除钻牛角尖的,通常unsigned若省略后一个关键字,大多数编译器都会认为是unsigned int。(这时可以确定1000%确定选D了)
帮你扩展下:在jdk7.0中switch 语句可以用字符串啦~(不过问题中也没string 这个选项~)
温馨提示:答案为网友推荐,仅供参考