switch case
1. switch的表达式结果必须为char,byte,short,int, Enum
2. case常量必须是编译时常量
final int a = 1;
final int b;
b = 2;
int x = 0;
switch(x){
case a: //OK
case b: //compiler error
}
3. byte->int
byte g = 2;
switch(g){
case 23: //ok
case 128: //compiler error
}
byte被隐式转换为int,但是128超过byte的取值范围,因此导致编译出错
4. 多个case使用相同的值也是非法的
int x = 0;
switch(x){
case 80: //OK
case 80: //compiler error
}
5. break
switch表达式匹配的第一个case常量是JVM执行的入口点,一旦匹配,则会执行
所有后续代码,直至发现break或者到达switch语句末尾
int x = 1;
switch(x){
case 1: System.out.println("x is one");
case 2: System.out.println("x is two");
case 3: System.out.println("x is three");
}
以上输出: x is one
x is two
x is three
Flow control
最新推荐文章于 2025-07-16 20:35:14 发布