<分区>
考虑这段代码:
int num = 0;
switch(num) {
case 1:
boolean bool = false;
break;
case 2:
String one;
String two;
String three;
//..simulating lots of vars
break;
default:
bool = true;
System.out.println(bool);
break;
}
因为我们被允许引用在另一种情况下声明的变量,这意味着即使 case 1
未被选中,boolean bool
仍然被宣布。
自 default
是最后一个选项,java 从左到右(从上到下)工作,我假设 case 2
中的变量(以及任何其他情况)也将被宣布。
这让我觉得在选择案例之前在案例中声明的代码越多,实际访问该案例所需的时间就越长选择的案例首先被宣布。
switch 语句以这种方式工作是否有特定原因?使用 if-else
不是最好的选择吗?如果有很多情况,而不是 switch 语句? (通话处理时间,纳秒)