在使用Java中的switch语句中评估一个案例(我确定其他语言)之后,除非使用像break或return这样的控制语句,否则还会评估以下案例。
我理解这可能是一个实现细节,但是这个功能发生的原因是什么?
谢谢!
答案 0 :(得分:1)
因为从一个案例到另一个案件的“通过”是有用的。如果你不需要这个(通常是这种情况),一个简单的break
将阻止这种情况。另一方面,如果默认情况下不会出现这种情况,那么就没有任何简单的方法可以做到这一点。
答案 1 :(得分:1)
当硬件发生变化时,它为我节省了大量重复的代码。
void measureCPD (void) {
char setting;
switch (DrawerType) {
case 1:
setting = SV1 | SV7;
break;
case 0:
case 2:
setting = SV1;
break;
case 5:
PORTA |= SVx;
case 3:
case 4:
setting = SV1 | SV7;
break;
default: // Illegal drawer type
setting = SV1;
}
SetValves (setting);
}
答案 2 :(得分:0)
这是因为案例标签是goto
目的地标签。
答案 3 :(得分:0)
有时您可能希望多个case语句执行相同的代码。 所以你会堕落并在结束时休息。
答案 4 :(得分:0)
我倾向于认为它与汇编编程类似,case
是你跳进去的标签,它贯穿于它下面的标签(程序从上到下流动),所以你会需要跳转(break;
)才能离开。