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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

孔卡粉

注册黑马

  • 黑马币:

  • 帖子:

  • 精华:

© 孔卡粉 注册黑马   /  2012-1-6 22:29  /  2052 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

swtich是否能作用在byte上,是否能作用在long上,是否能作用在String上?

5 个回复

倒序浏览
switch 后面的表达式不能跟double,float,long,String ,boolean,可以接int,short,byte,char!

回复 使用道具 举报
 switch(expr1)中,expr1是一个整数表达式。因此传递给 switch 和 case 语句的参数应该是 int、 short、 char 或者 byte。long,string 都不能作用于swtich。
回复 使用道具 举报
switch(整数表达式);
byte,short,char都可以隐含转换为int 所以他们可以,
long String 都不可以~~~
回复 使用道具 举报
本帖最后由 流氓l老醯 于 2012-1-7 01:05 编辑

在switch(expr1)中,expr1只能是一个整数表达式或者枚举常量,整数表达式可以是int基本类型或Integer包装类型,由于,byte,short,char都可以隐含转换为int,所以,这些类型以及这些类型的包装类型也是可以的。显然,long和String类型都不符合switch的语法规定,并且不能被隐式转换成int类型,所以,它们不能作用于swtich语句中。
回复 使用道具 举报
一般都可以使用在byte, short, int, char这四种类型.
随着JDK的升级:
JDK5.0可以判断枚举类型.
JDK7.0可以判断字符串.
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马