2.5.1 | if |
Wie in nahezu jeder Programmiersprache gibt es auch in Java die if-Anweisung. Sie führt einen Anweisungsblock in Abhängigkeit von einer logischen Bedingung aus oder nicht. Diese Bedingung muss den Ergebnistyp boolean haben. Im Gegensatz zu C sind Ausdrücke vom Typ int nicht erlaubt. Die if-Anweisung kann auch einen optionalen else-Zweig besitzen, der ausgeführt wird, wenn die Bedingung das Ergebnis false hat. Ein Beispiel:if (a < b) System.out.println("a ist kleiner als b"); else System.out.println("a ist größer oder gleich b");Die logische Bedingung muss grundsätzlich geklammert werden, auch wenn sie nur aus einem Methodenaufruf besteht, der den Ergebnistyp boolean hat:float f; ... // Zuweisungen an f if (Float.isInfinite(f)) System.out.println("Unendlich");Falls ein if- oder ein else-Zweig nur aus einer Anweisung besteht, muss er durch ein Semikolon abgeschlossen werden. Ein else-Zweig wird stets dem direkt davor stehenden if zugeordnet. Dadurch kann es bei geschachtelten if-Anweisungen nötig sein, eine leere else-Anweisung einzufügen:if (x >= 0) if (x > 0) System.out.println("größer als Null"); else; else System.out.println("kleiner als Null");Stilistisch besser und weitaus üblicher ist in solchen Fällen allerdings eine entsprechende Klammerung:if (x >= 0) { if (x > 0) System.out.println("größer als Null"); } else System.out.println("kleiner als Null");