switch支持的数据类型【切记不支持long、double、float及其包装类型】
- 基本数据类型:char,byte, short, int
- 包装数据类型: Character,Byte,Short,Integer
- 枚举类型:Enum
- 字符串类型:String(Jdk 7+ 开始支持)
Color color = Color.RED;
switch (color) {
case RED:
System.out.println("red");
break;
case BLUE:
System.out.println("blue");
break;
case YELLOW:
System.out.println("yellow");
break;
default:
System.out.println("default");
switch注意事项
- case 里面必须跟 break,不然程序会一个个 case 执行下去,直到最后一个 break 的 case 或者 default 出现
- case 条件里面只能是常量或者字面常量,而且不能为null,否则编译报错
- default 语句可有可无,最多只能有一个
- 建议在switch语句前判断参数是否为null:switch的参数不能为null,否则会报空指针异常【null的类型不确定】
public class Demo {
public static void main(String[] args) {
new Demo().go(null);
}
public void go(String str) {
switch (str) {
case "null":
System.out.println("null");
break;
case "123":
System.out.println(123);
break;
default:
System.out.println("default");
}
}
}