在 Java 交换机中声明和初始化变量
我有一个关于Java开关的疯狂问题。
int key = 2;
switch (key) {
case 1:
int value = 1;
break;
case 2:
value = 2;
System.out.println(value);
break;
default:
break;
}
方案 1 - 当 为 2 时,它将成功将值打印为 2。
场景 2 - 当我要在其中发表评论时,会发出警告,说局部变量值可能尚未初始化。key
value = 2
case 2:
问:
场景1:如果执行流没有去(当),那么它怎么知道值变量的类型为?
场景 2:如果编译器知道值变量的类型为 ,则它必须访问过 中的表达式。(声明和初始化)。那么为什么它 sqawrk 当我要注释时,说局部变量值可能尚未初始化。case 1:
key = 2
int
int
int value = 1;
case 1:
value = 2
case 2: