在使用switch
语句时,case
有以下几个要求:
case
后面必须跟随一个常量表达式或字面值。常量表达式是指在编译时就可以确定其值的表达式,例如整数、字符、枚举常量等。不允许使用变量或非常量表达式作为case
的值。- 每个
case
分支的值必须唯一且与switch
表达式的数据类型相匹配或可自动转换为其数据类型。例如,如果switch
表达式是一个int
类型的变量,那么每个case
分支的值应为整数类型或可以隐式转换为整数类型的常量。 - 在每个
case
分支末尾需要使用break
关键字来终止当前分支的执行。这样可以避免流程继续执行到下一个分支。如果没有break
语句,程序将会继续执行下一个分支(称为”穿透”)。 - 可以使用
default
关键字定义一个默认分支,用于处理未匹配到任何case
分支的情况。default
分支是可选的,可以放在switch
语句的最后。
以下是一个示例代码,展示了switch
语句中case
的要求:
int num = 2;
switch(num) {
case 1:
System.out.println("数字为1");
break;
case 2:
System.out.println("数字为2");
break;
default:
System.out.println("其他数字");
}
在上述代码中,根据变量num
的值,在switch
语句中使用两个case
分支进行匹配,并输出相应的结果。如果num
的值为2,则会执行第二个case
分支,输出”数字为2″。