switch语句用法:
0. switch语句由一个控制表达式和多个case标签组成
1. switch控制表达式支持的类型有byte、short、char、int、enum(JDK5)、String(JDK7)
2. switch-case语句完全可以与if-else语句互转,但通常来说,switch-case语句执行效率要高
3. default语句在当前switch找不到匹配的case时执行,default并不是必须的
4. 一旦case匹配,就会顺序执行后面的程序代码,直到遇见break(根据这一特点,可以写一些巧妙的代码)
看下面的示例:
1 public class SwitchTest { 2 3 public static void main(String[] args) { 4 // TODO Auto-generated method stub 5 switchTest((byte)1); 6 switchTest((short)2); 7 switchTest(3); 8 switchTest('4'); 9 switchTest("5");10 switchTest(Gender.MAN);11 }12 13 public static void switchTest(int var) {14 switch (var) {15 case 3:16 System.out.println(var);17 break;18 }19 }20 21 /*public static void switchTest(boolean var) {22 switch (var) {23 case true:24 System.out.println(var);25 break;26 }27 }*/28 29 public static void switchTest(short var) {30 switch (var) {31 case 2:32 System.out.println(var);33 break;34 }35 }36 37 public static void switchTest(byte var) {38 switch (var) {39 case 1:40 System.out.println(var);41 break;42 }43 }44 45 /*public static void switchTest(long var) {46 switch (var) {47 case 1:48 System.out.println(var);49 break;50 }51 }*/52 53 public static void switchTest(String var) {54 switch (var) {55 case "5":56 System.out.println(var);57 break;58 }59 }60 61 public static void switchTest(char var) {62 switch (var) {63 case '4':64 System.out.println(var);65 break;66 }67 }68 69 public static void switchTest(Gender var) {70 switch (var) {71 case MAN:72 System.out.println(var);73 break;74 default:75 System.out.println("error");76 break;77 }78 }79 }80 81 enum Gender{82 MAN, WOMAN83 }
switch的参数类型:
在JDK6以前,switch仅支持能够等价为int的类型(byte、short、int、char)和枚举类型
在JDK7中加入了String
但long、float、double、boolean等不支持