Der folgende Java-Code ausgeführt wird, ohne Fehler in Java 1,7Wie werden Java-Bereichsdeklarationen in Switch-Case-Anweisungen verwendet?
public static void main(String[] args) {
int x = 5;
switch(x) {
case 4:
int y = 3423432;
break;
case 5: {
y = 33;
}
}
}
Wie funktioniert Java ausrechnen, dass y ein int ist, da die Deklaration nie ausgeführt wird. Wird die Deklaration von Variablen innerhalb einer case-Anweisung auf die switch-Anweisungsebene beschränkt, wenn geschweifte Klammern in einer case-Anweisung nicht verwendet werden?
Ich glaube, die Variable wird im Rahmen der gesamten Schalter und nicht nur den Fall erklärt. Ich bin mir nicht sicher, aber ich denke, das ist was passiert. – StackFlowed
ähnliche Frage wurde vor aufgeworfen: http://stackoverflow.com/questions/10810768/declaring-and-initializing-variables-within-java-switches – DonatasD
Hoffnung Link für Ihre Frage beantworten http://stackoverflow.com/questions/3894119/variables-scope-in-a-switch-case –