gpt4 book ai didi

java - 为什么 switch 语句中的 case 没有自己的作用域?

转载 作者:搜寻专家 更新时间:2023-10-31 20:11:16 25 4
gpt4 key购买 nike

<分区>

考虑这段代码:

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 语句? (通话处理时间,纳秒)

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com