一、switch 语句后面的小括号“()”当中都可以出现什么,在 JDK1.6 之前(包括 1.6 在内) switch 只能探测 int 类型的数据,但是在 JDK1.7 之后(包括 1.7 在内),switch 语句除了支持 int 类型之外,还支持 String 类型。也就是说从 Java7 开始 switch 后面小括号中可以出现字符串。
二、switch 虽然只能探测 int 类型,但是也可以将 byte,short,char 类型放到小括号当中,因 为这些类型会自动转换成 int 类型(小容量向大容量转换称为自动类型转换)。
三、switch 语句当中 case 是可以进行合并的。
switch(90) { case 100: case 90: case 80: System.out.println("优秀"); break; case 70: case 60: System.out.println("一般"); break; default: System.out.println("不及格"); }
四、switch 语句当中当某个分支匹配成功,则开始执行此分支当中的 java 语句,当遇到当 前分支中的“break;”语句,switch 语句就结束了,但是如果当前分支中没有“break;”语句, 则会发生 case 穿透现象,也就是说下一个分支也不再进行匹配,直接进入下一个分支执行, 直到遇到“break;”为止。
char str = 'A'; switch(str) { case 'A': System.out.println("A"); case 'B': System.out.println("B"); break; default: System.out.println("others"); }