【发布时间】:2018-01-21 14:42:18
【问题描述】:
所以我的问题基本上与 switch 语句有关。为什么是
switch (foo) {
case 1: case 2:
bar();
break;
}
同:
if (foo == 1 || foo == 2) {
bar();
}
在我看来,使用 switch 语句,案例 1 下的代码将执行,而案例 2 下的代码将被忽略。请向我解释为什么不是这样。
【问题讨论】:
-
您在这里指的是什么语言?请添加相关标签。
-
你查过开关是如何工作的吗?在我所知道的每一种语言中,除非用
break分隔,否则每种情况不会单独执行。case 1“落入”case 2。 -
假设是 Java,去这里搜索“fall through”的页面:docs.oracle.com/javase/tutorial/java/nutsandbolts/switch.html
标签: if-statement switch-statement logic