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");