为什么,在 Java 中,变量的范围仅限于 switch 块而不是 case 块。例如,
// Scope limited to a switch block
switch (number) {
case 1:
String result = "...";
break;
case 2:
result = "...";
break;
在上面的例子中,result 只需要声明一次。如果您声明它两次,那么您会收到一条Duplicate local variable
消息。
我的问题是:程序怎么知道你已经声明了result
if number = 2
?(它不会落入case 1
也不会声明变量......或者会吗?)
编辑:
我可能会让大家感到困惑。我了解如何限制变量的范围,但我的问题是:如果结果不属于这种情况,Java 如何知道结果已被声明?