Javaスイッチについて、おかしな質問があります。
int key = 2;
switch (key) {
case 1:
int value = 1;
break;
case 2:
value = 2;
System.out.println(value);
break;
default:
break;
}
シナリオ1 - key
2として、それが正常値を出力2である
私がコメントするつもりだ-シナリオ2 value = 2
でcase 2:
、それは言ってsquawks ローカル変数の値が初期化されていないかもしれません。
質問:
シナリオ1:実行フローがに進まないcase 1:
場合(の場合key = 2
)、値変数の型はどのようにしてわかりint
ますか?
シナリオ2:コンパイラーが値変数のタイプをとして認識している場合は、。(宣言と初期化)の式にint
アクセスしている必要があります。では、なぜローカル変数の値が初期化されていない可能性があると言ってコメントするつもりなのでしょうか。int value = 1;
case 1:
value = 2
case 2: