在Java中,switch
和case
语句用于进行多条件分支判断
switch
表达式的类型必须是byte
、short
、int
、char
、String
或者它们的包装类(如Byte
、Short
、Integer
、Character
、String
)。从Java 7开始,switch
表达式还可以是枚举类型。case
标签的值必须是常量或字面量,并且在编译时期就能确定。这意味着你不能使用变量或方法返回值作为case
标签的值。此外,每个case
标签的值必须在同一个switch
语句中是唯一的。switch
表达式的值与某个case
标签的值相等时,程序会从该case
标签处开始执行,直到遇到break
语句或者switch
语句结束。如果没有匹配到任何case
标签,程序会执行default
分支(如果存在)。case
分支中没有break
语句,那么程序会继续执行下一个case
分支,这被称为“穿透”(fall-through)。为了避免穿透现象,建议在每个case
分支的末尾添加break
语句。default
分支来处理未匹配到任何case
标签的情况。default
分支是可选的,但建议在实际编程中使用,以提高代码的健壮性。示例:
int number = 2;
switch (number) {
case 1:
System.out.println("Number is 1");
break;
case 2:
System.out.println("Number is 2");
break;
case 3:
System.out.println("Number is 3");
break;
default:
System.out.println("Number is not 1, 2 or 3");
}
输出结果:
Number is 2