Eine gute Antwort wäre:

Nein. Der Programmierer wollte vermutlich, dass die drei Anweisungen nach dem else ein Teil des false-Blocks sind, aber er hat die geschweiften Klammern nicht verwendet, um das anzuzeigen.

Nur eine Anweisung je Zweig

Der false-Block wurde nicht innerhalb der geschweiften Klammern gestellt:

if ( zahl < 0 )
    System.out.println("Die Zahl " + zahl + " ist negativ");
else
    System.out.println("Die Zahl " + zahl + " ist positiv");
    System.out.print  ("Positive Zahlen sind groesser ");
    System.out.println("oder gleich Null ");
System.out.println("Good-bye fuer jetzt");

Unser für Menschen freundliches Einrücken zeigt, was wir wollen, aber der Compiler wird bloß nach geschweiften Klammern suchen. Er wird das Äquivalent von diesem sehen:

if ( zahl < 0 )
    System.out.println("Die Zahl " + zahl + " ist negativ"); // true-Zweig
else
    System.out.println("Die Zahl " + zahl + " ist positiv"); // false-Zweig
System.out.print  ("Positive Zahlen sind groesser ");        // wird immer ausgeführt
System.out.println("oder gleich Null ");                     // wird immer ausgeführt
System.out.println("Good-bye fuer jetzt");                   // wird immer ausgeführt

FRAGE 8:

Wie würden Sie den oben stehenden Programmteil verbessern?

Inhaltsverzeichnis