黑马程序员技术交流社区
标题:
switch语句能否作用在byte上,能否作用在long上,能否作用在String上?
[打印本页]
作者:
小飞龙
时间:
2012-7-19 15:05
标题:
switch语句能否作用在byte上,能否作用在long上,能否作用在String上?
switch语句能否作用在byte上,能否作用在long上,能否作用在String上?
作者:
蒋映辉
时间:
2012-7-19 15:08
不能 只能是基本数据类型....
作者:
山水游客
时间:
2012-7-19 15:14
switch(x)中,x必须是整数表达式。因此传递给 switch 和 case 语句的参数应该是 int、 short、 char 或者 byte。long,string 都不能作用于swtich。
作者:
孙新强
时间:
2012-7-19 15:26
switch(x) 这个x的取值可以为:
一: byte、short、int、char
二: 枚举类型(这个好像是jdk1.5或jdk1.6之后版本才能使用 具体哪个 我记不太清了)
作者:
黄锐
时间:
2012-7-19 16:02
整数表达式可以是int基本类型或Integer包装类型,由于,byte,short,char都可以强转换为int,所以,这些类型以及这些类型的包装类型也是可以的。显然,long和String类型都不符合switch的语法规定,并且不能被强转换成int类型,所以,它们不能作用于swtich语句中。
作者:
柳雷
时间:
2012-7-20 00:33
在switch(expr1)中,expr1只能是一个整数表达式或者枚举常量(更大字体),整数表达式可以是int基本类型或Integer包装类型,由于,byte,short,char都可以隐含转换为int,所以,这些类型以及这些类型的包装类型也是可以的。显然,long和String类型都不符合switch的语法规定,并且不能被隐式转换成int类型,所以,它们不能作用于swtich语句中。
作者:
丁二跃
时间:
2012-7-20 00:39
jdk 1.7 版本中switch 已经支持了 String
可惜……我没有试验过
:'( jdk 1.6 已经过时了 我们还在学习 1.5 啊
作者:
郑彬
时间:
2012-7-20 08:34
符合byte short int char这四种类型。可以使用swtich语句。因为可以转换为byte short char可以默认转化为int类型。以int为比较基本。而string long 不能转换,所以不行。
作者:
themoon
时间:
2012-7-20 08:42
如果你非得要使用String类型与Long类型的数据,你可以试试强制类型转换。但是要注意的是,具我所知,Switch(n)中的n只能为int及比int小的基本数制类型,也就是说,要可以转换成int型的。
作者:
王龙彪
时间:
2012-7-20 10:00
在switch(表达式)中,表达式只能是一个整数表达式或者枚举
整数表达式可以是int基本类型或Integer包装类型
byte,short,char都可以隐含转换为int,所以,这些类型以及这些类型的包装类型也是可以的。
long和String类型都不符合switch的语法规定,并且不能被隐式转换成int类型,所以,它们不能作用于swtich语句中。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2