首页 > 试题广场 >

以下选项中,switch语句判断条件可以接受的数据类型有哪些

[不定项选择题]
以下选项中,switch语句判断条件可以接受的数据类型有哪些?(多选)
  • int
  • byte
  • char
  • short
java的switch比较特殊,低于int的类型,使用会上转为int类型作为判断,所以大于int的类型,如long,double就不可以在switch中使用(不能自动向下转型),至于枚举类,实际比较的也是和int相关的类型(枚举的记不住了),String是和hashcode有关,int类型。  总结,switch只接受int类型的数据,接受了低类型的就自动向上转为int
编辑于 2021-12-22 07:53:16 回复(15)
byte short char int这四种本质都是转成int判断 1.5后支持String和enum
发表于 2021-10-17 12:13:38 回复(2)
switch括号里面只能放int类型,char,byte和short类型会被编译成int,其中char类型比较特殊,例如’1’会被编译成49。
发表于 2021-10-16 22:28:56 回复(0)
为什么有byte?
发表于 2020-08-04 22:56:14 回复(4)
switch可以支持byte、short、char、int、Byte、Short、Character、Integer、String和枚举类型的数据
byte、short、char自动转变为int类型,
Byte、Short、Character、Integer--JDK1.5自动拆箱,转变为int类型进行匹配

同时随着jdk1.5中新增了枚举类型,枚举类型底层是使用了枚举类的ordinal方法,返回的是枚举常量的序号,其序号是int类型,所以可以作为switch的参数。

在jdk1.7中string类型底层使用了hashCode方法,返回的数据类型为哈希码,也是int类型。



发表于 2022-05-30 23:37:42 回复(3)
switch表达式中的值必须是byte,short,char,int,枚举(jdk5.0),String(jdk7.0)
发表于 2022-01-19 11:47:01 回复(0)
byte数据类型占用一个字节。
发表于 2020-08-21 11:17:54 回复(0)
其实很好记住。要知道byte、char、short在参与运算时都会转成int,所以这四种都是可以的。现在的jdk也开始支持String和enum
发表于 2022-01-19 23:36:19 回复(0)
C++基本数据类型有byte吗
发表于 2020-10-08 13:07:55 回复(1)
switch中可以支持int、byte、char、short,但是最后都会转化为int进行比较。在jdk1.7后添加了对String类型的支持。
发表于 2022-07-07 13:20:12 回复(0)

实际上总结一下后可以发现,switch能接受的数据类型是int。

先说下总共有哪些数据类型可被接受:byte、short、char、int、前四者的包装类、String、枚举

其中byte、short、char会自动类型提升为int,而包装类能自动拆箱为基本数据类型,最终也会转成int。String则是跟哈希值有关,而哈希值是int类型。枚举类型返回的是枚举常量的序号,也是int类型。

编辑于 2024-02-23 18:06:14 回复(0)
在Java中,switch语句用于根据表达式的值选择执行不同的代码块。在switch语句中,条件可以接受的数据类型包括:

1. 整数类型
   - byte
   - short
   - int
   - char(Java 7及以上版本)

2. 枚举类型
   - 枚举类型也可以作为switch语句的条件。

从Java 7开始,switch语句还支持使用字符串作为条件,这为开发人员提供了更大的灵活性。因此,条件可以接受的数据类型包括:

3. 字符串类型
   - String(Java 7及以上版本)

需要注意的是,在使用字符串作为switch语句的条件时,需要确保在Java 7及以上版本中进行编译和执行。在Java 7之前的版本中,switch语句只能接受整数类型和枚举类型作为条件。
发表于 2024-01-19 16:48:18 回复(0)
  • switch语句判断条件可以接受的数据类型有:
  • 基本数据类型:byte, short, char, int
  • 包装数据类型:Byte, Short, Character, Integer

  • 枚举类型:Enum

  • 字符串类型:String(Jdk 7+ 开始支持)

发表于 2023-06-30 11:54:44 回复(0)
java的switch比较特殊,低于int的类型,使用会上转为int类型作为判断,所以大于int的类型,如long,double就不可以在switch中使用(不能自动向下转型)
发表于 2023-05-16 12:58:33 回复(0)
总算对了一题
发表于 2022-10-10 20:56:15 回复(0)
byte short char int这四种本质都是转成int判断 1.5后支持String和enum
发表于 2022-09-21 08:47:15 回复(0)
Java7后,switch支持10种类型
基本类型:byte char short int ;
对应包装类 :Byte,Short,Character,Integer ;
String ,Enum ;
发表于 2022-09-07 22:05:11 回复(0)
为什么会有byte呢?
发表于 2021-12-20 21:31:59 回复(1)
基本数据类型 byte看作字节数组
发表于 2020-08-10 16:38:54 回复(0)