1、switch使用示例
switch
语句支持的数据类型有byte
、short
、char
、int
,以及它们的包装类(如Byte
、Short、Character
、Integer
)和enum
类型。从Java SE 7开始,switch
也支持String
类型。
public class Main { public static void main(String[] args) { String s = "a"; switch (s) { case "a": System.out.println("case is a"); break; case "b": System.out.println("case is b"); break; } //default的用法:在没有匹配到的情况或匹配到的代码块没有break,就会执行 default代码。 s="f"; switch (s) { case "a": System.out.println("case is a"); break; case "b": System.out.println("case is b"); break; default: System.out.println("default"); break; } } }
2、switch 不支持 long
switch 不支持 long,是因为 switch 的设计初衷是对那些只有少数的几个值进行等值判断,如果值过于复杂,那么还是用 if 比较合适。
public class Main { public static void main(String[] args) { // long x = 111; // switch (x) { // Incompatible types. Found: 'long', required: 'char, byte, short, int, Character, Byte, Short, Integer, String, or an enum' // case 1: // System.out.println(111); // break; // case 2: // System.out.println(222); // break; // } } }
注意:对于long
、float
、double
及其包装类型(Long
、Float
、Double
),switch
语句是不支持的。如需根据long
类型的变量做判断,将不得不使用if-else
语句。