Der folgende Java-Code wird nicht kompiliert.Warum können Variablen in einer if-Anweisung nicht deklariert werden?
int a = 0;
if(a == 1) {
int b = 0;
}
if(a == 1) {
b = 1;
}
Warum? Es kann keinen Code-Pfad geben, der zu dem Programm führt, das 1 zu b
zuordnet, ohne es zuerst zu deklarieren.
Es fiel mir auf, dass b
's variabler Bereich auf die erste if
Anweisung beschränkt sein könnte, aber dann würde ich nicht verstehen, warum. Was, wenn ich nicht unnötig b
deklarieren möchte, um die Leistung zu verbessern? Ich mag es nicht, Variablen nach der Deklaration ungenutzt zu lassen.
(Sie können argumentieren, als ich einfach b in der zweiten if
Aussage, in diesem Fall erklären könnte, nur vorstellen, dass es irgendwo anders in einer Schleife sein könnte.)
weil b in ersten erklärt hat, wenn der Block und unzugänglich aus dem Block, die b mit einem –
erklärt Was Sie aufgetreten ist richtig. Ihre Variable b ist nur im Umfang für diese bestimmten geschweiften Klammern. – Thihara
Bitte lesen Sie die ** VOLLSTÄNDIGE ** Erklärung. – Aeronth