A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 赵磊 黑马帝   /  2011-7-20 12:10  /  6391 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

switch语句能否作用在byte上,能否作用在long上?能否作用在String上?那都能作用在什么数据类型上呢?

评分

参与人数 1技术分 +1 收起 理由
老罗 + 1 惊现张孝祥老师面试宝典上面的题目。

查看全部评分

5 个回复

正序浏览
黑马网友  发表于 2011-7-21 13:40:44
地板
三楼 是高手
回复 使用道具 举报
黑马网友  发表于 2011-7-21 00:30:28
报纸
byte,short,int,char,以及他们的包装类,枚举。
楼上的连jdk7都看过了,也教了我一下
回复 使用道具 举报
学习张老师的视频。我知道了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 编辑 ]

评分

参与人数 1技术分 +1 收起 理由
老罗 + 1 很强大

查看全部评分

回复 使用道具 举报
黑马网友  发表于 2011-7-20 13:05:08
藤椅
在switch(exp)中,exp只能是整数表达式或者枚举常量。
整数表达式可以是int基本类型或Integer包装类型,因为byte,short,char都可以隐含转换为int,所以这些类型以及这些类型的包装类型也是可以的。
long和String类型都不符合switch语法的规定,并且不能隐式的转换成int类型,所以它们不能作用于switch语句中。

评分

参与人数 1技术分 +1 收起 理由
admin + 1 就给新人加点分了

查看全部评分

回复 使用道具 举报
short、 char 或者 byte他会自动转换为int,但long范围比int大,所以转换会有问题。枚举类型也可以用呀!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马