在Java中,switch
语句是一个用于基于不同情况执行不同代码块的控制流语句。switch
语句可以接受多种数据类型作为其表达式,但是这些类型必须满足以下条件:
-
整型:包括
byte
、short
、char
和int
。 -
枚举(Enumeration):Java 5及以后版本支持使用枚举类型作为
switch
语句的表达式。 -
字符串(String):Java 7及以后版本允许使用字符串作为
switch
语句的表达式。 -
原始类型:Java 12及以后版本引入了对原始类型的支持,这意味着你可以使用
byte
、short
、char
和int
的原始类型作为switch
语句的表达式。
以下是一些示例:
// 使用int
int number = 1;
switch (number) {
case 1:
System.out.println("One");
break;
// 更多case
}
// 使用枚举
enum Color {
RED, GREEN, BLUE
}
Color color = Color.RED;
switch (color) {
case RED:
System.out.println("Red");
break;
case GREEN:
System.out.println("Green");
break;
// 更多case
}
// 使用字符串
String fruit = "apple";
switch (fruit) {
case "apple":
System.out.println("Apple");
break;
case "banana":
System.out.println("Banana");
break;
// 更多case
}
// 使用原始类型(Java 12及以上)
byte b = 1;
switch (b) {
case 1:
System.out.println("One in byte");
break;
// 更多case
}
请注意,switch
语句对表达式的类型有严格的要求,不支持浮点数(如float
和double
)、对象引用类型(除非是枚举类型)或boolean
类型。