黑马程序员技术交流社区
标题:
switch
[打印本页]
作者:
vipzh
时间:
2012-12-2 13:14
标题:
switch
switch()后面为什么可以是int,也可以是char,而不可以是long呢?这个要怎么看
作者:
齐银春
时间:
2012-12-2 13:34
swtich()里面必须是int和enum--即枚举类型。short、 char 或者 byte他会自动转换为int的。。long不能自动转换为int..因为long比int范围大..可能会丢失精度..
作者:
婂埖糖
时间:
2012-12-2 14:14
switch之后括号内的表达式只能是整型(byte、short、char和int)、枚举型或字符型表达式,不能是长整型long 或其他任何类型。简单的说,这是java语法的规定。如果非要原因,顶多,这可以算一个:如果允许long或者String,编译器和JVM实现起来会复杂一些,尤其是:可能无法把switch/case语句编译成时间和空间都非常高效的指令跳转表。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2