黑马程序员技术交流社区

标题: swtich使用问题 [打印本页]

作者: 孔卡粉    时间: 2012-1-6 22:29
标题: swtich使用问题
swtich是否能作用在byte上,是否能作用在long上,是否能作用在String上?
作者: 林晓波    时间: 2012-1-6 22:31
switch 后面的表达式不能跟double,float,long,String ,boolean,可以接int,short,byte,char!


作者: chocolate    时间: 2012-1-6 22:32
 switch(expr1)中,expr1是一个整数表达式。因此传递给 switch 和 case 语句的参数应该是 int、 short、 char 或者 byte。long,string 都不能作用于swtich。
作者: 朱泽宇    时间: 2012-1-6 22:32
switch(整数表达式);
byte,short,char都可以隐含转换为int 所以他们可以,
long String 都不可以~~~
作者: 刘小峰    时间: 2012-1-7 01:03
本帖最后由 流氓l老醯 于 2012-1-7 01:05 编辑

在switch(expr1)中,expr1只能是一个整数表达式或者枚举常量,整数表达式可以是int基本类型或Integer包装类型,由于,byte,short,char都可以隐含转换为int,所以,这些类型以及这些类型的包装类型也是可以的。显然,long和String类型都不符合switch的语法规定,并且不能被隐式转换成int类型,所以,它们不能作用于swtich语句中。
作者: 王杰    时间: 2012-1-7 01:14
一般都可以使用在byte, short, int, char这四种类型.
随着JDK的升级:
JDK5.0可以判断枚举类型.
JDK7.0可以判断字符串.




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