Java中的switch语句是一种多分支选择结构,可以一个变量的值改变程序的控制流。switch语句用于根据表达式的值执行不同的代码块。它类似于C语言中的switch语句。
参考文档:
https://www.cjavapy.com/article/62/
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语句。
参考文档:
https://www.cjavapy.com/article/62/