J'ai une folle question à propos de Java commutateurs.
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 l' key
est à deux il a réussi à imprimer la valeur 2.
Scénario 2 - Quand je vais commenter value = 2
en case 2:
il des bruits disant que le local valeur de la variable peut ne pas avoir été initialisé.
Questions :
Scénario 1 : Si le flux d'exécution ne va pas à l' case 1:
(lorsque l' key = 2
), alors comment fait-il connaître le type de la valeur de la variable int
?
Scénario 2 : Si le compilateur connaît le type de la valeur de la variable int
, alors il doit avoir accédé à l' int value = 1;
expression en case 1:
.(Déclaration et Initialisation). Alors pourquoi est-il sqawrk Quand je vais commenter value = 2
en case 2:
, en disant: le local valeur de la variable peut ne pas avoir été initialisé.