首页
题库
面试
求职
学习
竞赛
More+
所有博客
搜索面经/职位/试题/公司
搜索
我要招人
去企业版
登录 / 注册
首页
>
试题广场
>
下列不能做switch()的参数类型是?
[单选题]
在java7中,下列不能做switch()的参数类型是?
int型
枚举类型
字符串
浮点型
查看答案及解析
添加笔记
邀请回答
收藏(5392)
分享
96个回答
添加回答
288
推荐
MyGoodHelper
D
switch语句后的控制表达式只能是short、char、int、long整数类型和枚举类型,不能是float,double和boolean类型。
String类型是java7开始支持。
编辑于 2015-01-12 10:27:46
回复(30)
195
大河儿马
switch支持 int及以下(char, short, byte),String, Enum
发表于 2015-11-13 10:53:48
回复(9)
87
yayamma
在switch(expr1)中,expr1只能是一个
整数表达式或者枚举常量(更大字体)
,整数表达式可以是int基本类型或Integer包装类型,由于,byte,short,char都可以隐含转换为int,所以,这些类型以及这些类型的包装类型也是可以的。显然,long、float、double类型不符合switch的语法规定,并且不能被隐式转换成int类型,所以,它们不能作用于swtich语句中。
注意:String类型是Java7开始支持的。
发表于 2015-08-11 08:59:48
回复(3)
33
程序员鱼皮
switch支持byte、short、char、int、String(jdk1.7)、Enum
发表于 2018-09-02 08:33:20
回复(2)
32
luckystar92
本人eclipse测试过,switch支持:①支持小于等于int的类型譬如(byte,short,char,int),不支持八大基础数据类型中的boolean,long,float,double②支持枚举类型③支持String类型(java7开始支持)
发表于 2017-08-14 21:15:38
回复(0)
11
惠鸿飞
在JDK1.5之前,switch循环只支持byte short char int四种数据类型.
JDK1.5 在switch循环中增加了枚举类与byte short char int的包装类,对四个包装类的支持是因为java编译器在底层手动进行拆箱,而对枚举类的支持是因为枚举类有一个ordinal方法,该方法实际上是一个int类型的数值.
jdk1.7开始支持String类型,但实际上String类型有一个hashCode算法,结果也是int类型.而byte short char类型可以在不损失精度的情况下向上转型成int类型.所以总的来说,可以认为switch中只支持int.
发表于 2019-11-13 21:06:46
回复(0)
10
Imabra
除了整型,枚举类型,字符型,其他的都不行。譬如:字符串,浮点型这些都不可以作为switch的参数类型。
发表于 2014-10-25 00:25:58
回复(1)
6
惟愿无事
C是可以的 从Java7开始 switch可以是string类型
发表于 2015-05-11 19:03:53
回复(2)
5
zhisheng_blog
jdk1.7 以后含1.7 ,有 int byte char short及其包装类型 和 enum类型, String类型是在 1.7 新增的
发表于 2017-06-06 23:33:21
回复(0)
3
魔王blog
说个拓展小知识,switch实际上只支持整型,string在switch底层其实是调用了hashcode方法来获得整型来判断的,enum是调用是序号方法获得的整型,所以如果传一个null字符串进switch会报空指针异常
发表于 2021-10-06 16:00:56
回复(0)
3
丿Rose丨灬飞龙
答案:D switch支持的数据类型有byte,short,int,char,枚举,在JDK1.7支持String类型。 这里的整型很容易让我们误以为包括字节(byte),短整型(short),整型(int),长整型(long)。这里指的是整型int。
发表于 2017-08-28 15:12:43
回复(1)
3
REDStone
表达式可以是整型、字符型以及枚举类型等表达式敏感词的都不行
发表于 2014-11-02 15:16:01
回复(0)
2
钟岚
switch语句后的控制表达式只能是short、char、int、long整数类型和枚举类型,不能是float,double和boolean类型。String类型是java7开始支持。
发表于 2021-09-30 12:32:51
回复(1)
2
Keosc
Java5 以前 switch(expr)中,expr 只能是 byte、short、char、int。
从 Java 5 开始,Java 中引入了枚举类型, expr 也可以是 enum 类型。
从 Java 7 开始,expr还可以是字符串(String),但是长整型(long)在目前所有的版本中都是不可以的。
发表于 2021-06-30 21:05:17
回复(0)
2
牛客626722717号
switch语句后的控制表达式只能是short、char、int、long整数类型和枚举类型,不能是float,double和boolean类型。String类型是java7开始支持。
发表于 2021-06-01 15:36:48
回复(0)
2
牛客188406456号
到底支持long 否?
发表于 2020-12-17 09:01:28
回复(1)
2
牛客1785762009号
switch() 括号里面的参数,在jdk1.5之前只支持char,int,short,byte,1.5之后增加了枚举类型和byte,short,char,int这些的包装类,1.7之后支持String类型,因为String类型有一个hashcode算法,也是int类型,所以总的来说,可以认为switch只支持int类型数据
发表于 2020-11-28 11:33:03
回复(0)
2
ideolo
switch语句后的控制表达式只能是short、char、int、long整数类型和枚举类型,不能是float,double和boolean类型。
String类型是java7开始支持。
发表于 2019-04-09 19:50:24
回复(0)
2
Rogerofit
switch支持:①支持小于等于int的类型譬如(byte,short,char,int),不支持八大基础数据类型中的boolean,long,float,double②支持枚举类型③支持String类型(java7开始支持)
发表于 2019-03-13 18:32:02
回复(0)
2
宋佑廉
switch语句后的控制表达式只能是short、char、int、long整数类型和枚举类型,不能是float,double和boolean类型。而在java7的时候,也支持String类型
发表于 2018-10-26 20:34:50
回复(0)
2
Tianwu
我想说的是支持字符字面值,不是简单说String
发表于 2017-05-05 14:21:02
回复(0)
这道题你会答吗?花几分钟告诉大家答案吧!
提交观点
问题信息
Java
腾讯
上传者:
小海豹
难度:
96条回答
5392收藏
41328浏览
热门推荐
相关试题
下列有关Java中static的说...
JavaSE
评论
(0)
尝试编译以下程序会产生怎么样的结果...
Java
Java工程师
小鹏汽车
2020
JavaSE
评论
(149)
针对下面的代码块,哪个选项结果为t...
Java
Java工程师
小鹏汽车
2020
JavaSE
评论
(54)
编程题 ,按照要求创建Java 应...
Java
评论
(1)
市场与销售的区别在哪里?
市场营销
评论
(1)
扫描二维码,关注牛客网
意见反馈
下载牛客APP,随时随地刷题