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
语句。