黑马程序员技术交流社区

标题: 关于Switch的一些问题 [打印本页]

作者: 瓶中人    时间: 2013-10-19 22:53
标题: 关于Switch的一些问题
本帖最后由 瓶中人 于 2013-10-21 11:55 编辑

Switch(num)
case 1 :
break;
case 2 :
break;
.........
default:
break;
其中变量num只可以是int 或char 类型的变量,但是在实际中有很多情况是不单单用数字或字符能表示出来的,像C#中则可以输出字符串了,问如果输入条件为字符串的(不是数字型字符串),那么该条件该怎么表达出来!当然是必须用Switch的情况下。
作者: 狼王    时间: 2013-10-19 22:56
可以是四种数据类型:byte、short、int、char,在以后的java版本中还会出现枚举类型
作者: 瓶中人    时间: 2013-10-19 23:05
狼王 发表于 2013-10-19 22:56
可以是四种数据类型:byte、short、int、char,在以后的java版本中还会出现枚举类型 ...

我不是说用这四种类型,是只有String类型的变量,但怎么用switch,简单来说只怎样将String转化为switch可以接受的类型。
作者: 天下    时间: 2013-10-19 23:43
因为java的语法已经规定,switch语句只能使用这4种类型
字符串那就用其他选择判断语句咯
作者: 秦大忠    时间: 2013-10-20 01:39
我也想过这个问题,就当Java暂时只支持这四种类型吧,实在要用String类型的就用其他的吧!
作者: zhou5852    时间: 2013-10-20 08:32
java1.7已经支持字符串了   如果你的环境是1.7的  直接用字符串。。。可以通过的
作者: 黄文伯    时间: 2013-10-20 09:38
亲,如问题已解决请将分类的“未解决”改为“已解决”。以后的问题贴也要及时更改分类哦~
作者: nineteen73    时间: 2013-10-20 11:01
1.5以后支持枚举,1.7支持字符串了。如果你用1.7一下版本,又想传入字符串是不可以的,只能用其他的语句了,比如if...else...,但可以在传入之前,让字符串和int建立一种联系,比如想传入"student",那么可以把student放入map里,student为值,键为1,判断是不是1,也就相当于判断了studnet,但是这样又把问题搞复杂了,所以不推荐
作者: 瓶中人    时间: 2013-10-21 01:42
黄文伯 发表于 2013-10-20 09:38
亲,如问题已解决请将分类的“未解决”改为“已解决”。以后的问题贴也要及时更改分类哦~ ...

事实上答案与我自己知道的,差不多,也就是没有找到我想要的答案,不过现在的问题是我不会把设置为已解决!可以教一下我吗?
作者: 落木萧萧    时间: 2013-10-21 11:50
瓶中人 发表于 2013-10-21 01:42
事实上答案与我自己知道的,差不多,也就是没有找到我想要的答案,不过现在的问题是我不会把设置为已解决 ...

http://bbs.itheima.com/forum.php?mod=viewthread&tid=49464
又把版主的活干了。
作者: 瓶中人    时间: 2013-10-21 11:57
落木萧萧 发表于 2013-10-21 11:50
http://bbs.itheima.com/forum.php?mod=viewthread&tid=49464
又把版主的活干了。

受教了,不仔细看还不知道在那里呢




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