黑马程序员技术交流社区

标题: switch()语句能作用的数据类型 [打印本页]

作者: 赵磊    时间: 2011-7-20 12:10
标题: switch()语句能作用的数据类型
switch语句能否作用在byte上,能否作用在long上?能否作用在String上?那都能作用在什么数据类型上呢?
作者: 琚臻臻    时间: 2011-7-20 12:19
short、 char 或者 byte他会自动转换为int,但long范围比int大,所以转换会有问题。枚举类型也可以用呀!
作者: 匿名    时间: 2011-7-20 13:05
在switch(exp)中,exp只能是整数表达式或者枚举常量。
整数表达式可以是int基本类型或Integer包装类型,因为byte,short,char都可以隐含转换为int,所以这些类型以及这些类型的包装类型也是可以的。
long和String类型都不符合switch语法的规定,并且不能隐式的转换成int类型,所以它们不能作用于switch语句中。
作者: 孙朋帅    时间: 2011-7-20 13:17
学习张老师的视频。我知道了switch还可以用枚举类型 !
不过还要补充一点:  现在的jdk7.0中switch 语句可以用字符串了
实例:
  1. private static void switchString(String str){     
  2.     switch(str){     
  3.         case "one":     
  4.             System.err.println("1");     
  5.             break;     
  6.         case "two":     
  7.             System.out.println("2");     
  8.             break;     
  9.         default :     
  10.             System.out.println("err");     
  11.     }     
  12. }
复制代码
[ 本帖最后由 sps457 于 2011-07-20  13:32 编辑 ]
作者: 匿名    时间: 2011-7-21 00:30
byte,short,int,char,以及他们的包装类,枚举。
楼上的连jdk7都看过了,也教了我一下
作者: 匿名    时间: 2011-7-21 13:40
三楼 是高手




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2