J'ai une question folle sur les commutateurs Java.
int key = 2;
switch (key) {
case 1:
int value = 1;
break;
case 2:
value = 2;
System.out.println(value);
break;
default:
break;
}
Scénario 1 - Lorsque le key
est deux , il imprime avec succès la valeur 2.
Scénario 2 - Quand je vais commenter value = 2
dans case 2:
ce gloussements dire la La valeur variable locale peut ne pas avoir été initialisé .
Questions:
Scénario 1: Si le flux d'exécution ne va pas à case 1:
(quand le key = 2
), alors comment connaît-il le type de la variable de valeur int
?
Scénario 2: Si le compilateur connaît le type de la variable de valeur comme int
, alors il doit avoir accédé à l' int value = 1;
expression dans case 1:
. (Déclaration et initialisation). Alors pourquoi est - ce sqawrk Quand je vais commenter value = 2
en case 2:
disant la La valeur variable locale peut ne pas avoir été initialisé .