在编程语言中,switch case 穿透是指在某个 case 分支执行完后,继续执行下一个 case 分支的代码,而不是跳出整个 switch 语句。下面是一些常见的解决方法。
int num = 2;
switch (num) {
case 1:
System.out.println("Case 1");
break;
case 2:
System.out.println("Case 2");
// 穿透到下一个 case
fallthrough;
case 3:
System.out.println("Case 3");
break;
default:
System.out.println("Default case");
break;
}
上述代码中,当 num 等于2时,会输出"Case 2"后继续执行下一个 case 分支的代码"Case 3"。
num = 2
switch = {
1: lambda: print("Case 1"),
2: lambda: print("Case 2"), # 无需 break
3: lambda: print("Case 3"),
"default": lambda: print("Default case")
}
switch.get(num, switch["default"])()
上述代码中,当 num 等于2时,会输出"Case 2"后继续执行下一个 case 分支的代码"Case 3"。
需要注意的是,由于不同编程语言的语法规则不同,具体的解决方法可能会有所不同。在使用 switch case 语句时,应根据具体的编程语言和语法规则来选择合适的解决方法。