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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

switch语句能否作用在byte上,能否作用在long上,能否作用在String上?

评分

参与人数 1技术分 +1 收起 理由
admin + 1

查看全部评分

13 个回复

倒序浏览
byte 和int可以   那个long就不行了!

评分

参与人数 1黑马币 +1 收起 理由
admin + 1 答题有奖!

查看全部评分

回复 使用道具 举报
其实 char 和  short  也是可以的   ! (我特意试了下 刚才没敢说  就自己试了试   可以通过)
回复 使用道具 举报
本帖最后由 路新 于 2011-11-9 11:51 编辑

在switch(exp)中,exp只能是一个整数表达式或者枚举常量(javase5),整数表达式可以是int基本类型或Integer包装类型,
由于byte,short,char都可以隐含转换为int,所以这些类型以及这些类型的包装类型也是可以的。显然long和String类型都
不符合switch语法的规定,并且不能隐式的转换成int类型,所以它们不能作用于switch语句中,此时只能只能使用一系列
的if等语句了。

评分

参与人数 1技术分 +2 收起 理由
宁超 + 2 标准的。

查看全部评分

回复 使用道具 举报
那个String是肯定不行的    switch里接受的是整形表达式
回复 使用道具 举报
本帖最后由 know 于 2011-11-9 11:56 编辑

switch语句选择的类型:byte,short,int , char,枚举enum也可以!!

评分

参与人数 1黑马币 +1 收起 理由
admin + 1

查看全部评分

回复 使用道具 举报
常文艺 黑马帝 2011-11-9 11:55:30
7#
最新版本是可以的,视频里说了,枚举类型都行
回复 使用道具 举报
常文艺 黑马帝 2011-11-9 11:56:04
8#
LONG 不行
回复 使用道具 举报
wangqing 黑马帝 2011-11-9 22:01:49
9#
switch中的数据类型有:byte,short,int,long,char
回复 使用道具 举报
switch(args)中,args是一个整数表达式。因此传递给 switch 和 case 语句的参数应该是 int、 short、 char 、 byte。long,string 都不能作用于swtich。
回复 使用道具 举报
只用于byte short int char 这四个类型
回复 使用道具 举报
别纠结了,很快了,1.7支持String了
等IDE更新吧,记事本可以直接写了
回复 使用道具 举报
在switch(expr1)中,expr1只能是一个整数表达式或者枚举常量(更大字体),整数表达式可以是int基本类型或Integer包装类型,由于,byte,short,char都可以隐含转换为int,所以,这些类型以及这些类型的包装类型也是可以的。显然,long和String类型都不符合switch的语法规定,并且不能被隐式转换成int类型,所以,它们不能作用于swtich语句中。
回复 使用道具 举报
白倩 黑马帝 2011-11-10 14:21:44
14#
用switch语句时只能是一个整数表达式或枚举常量,整数表达式可又是int或Integer
因为byte,short,char都可以隐含转换为int,所以,这些类型也是可以的,
但long和String都没办法转换成int  所以不能作用于switch语句中。
但在java7中switch又有新的改变哦!可又用字符串啦!呵呵
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马