switch-case参数类型

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, WOMAN
83 }

switch的参数类型:

  在JDK6以前,switch仅支持能够等价为int的类型(byte、short、int、char)和枚举类型

  在JDK7中加入了String

  但long、float、double、boolean等不支持

原文地址:https://www.cnblogs.com/joshua-aw/p/6022221.html