Die if-Verzweigung führt Anweisungen nach Prüfung einer Bedingung aus.
Grundstruktur der if-Verzweigung
Nach dem Schlüsselwort if
wird in runden Klammern
ein boolscher Ausdruck angegeben, also ein Ausdruck, der entweder true
oder false
annehmen kann. Hiernach folgt ein
Code-Block, der durch geschweifte Klammern ({}
)
gekennzeichnet ist. In ihn müssen alle Ausdrücke
eingefügt werden, die in dem Falle ausgeführt werden, dass
die Bedingung in den Klammern true
liefert.
Es muss
darauf geachtet werden, dass der boolsche Ausdruck in runden
Klammern als Ganzes ausgewertet wird. Hier sind also auch zusammengesetzte
boolsche Ausdrücke zulässig.
Im ersten Beispiel wird mit dem Ausdruck new
Random().nextInt(11)
eine Pseudo-Zufallszahl zwischen 0
und 10
erzeugt. In der if
-Verzweigung wird
dann geprüft, ob dieser Wert kleiner 6 ist. Ist dies der Fall,
so wir eine Ausgabe generiert.
import java.util.Random; public class IfClass { public static void main(String[] args){ int i = new Random().nextInt(11); if(i < 6) { System.out.println("i ist kleiner 6: " + i); } } }
Erweiterung der if-Verzweigung
Für Fälle, in denen dies nicht der Fall ist, kann die
Verzweigung durch eine else
-Anweisung erweitert werden.
Hierzu muss nach dem Schließen des Blockes das
Schlüsselwort else
gefolgt von einem weiteren
Block notiert werden. Das folgende Beispiel demonstriert dies
für den Fall, dass die erzeugte Zufallszahl nicht kleiner 6
ist.
import java.util.Random; public class IfClass { public static void main(String[] args){ int i = new Random().nextInt(11); if(i < 6) { System.out.println("i ist kleiner 6: " + i); } else { System.out.println("i ist nicht kleiner 6: " + i); } } }
Möchte man die Abfrage hinsichtlich weiterer Fälle
spezifizieren, so lässt sich die Verzweigung noch erweiteren.
Zwischen dem if
- und dem else
-Block
können eine oder mehrere weitere bedingte Anweisungen erfolgen,
indem mit else if
, gefolgt von einer boolschen
Bedingungsabfrage auf eine oder mehrere weitere Bedingungen
gefiltert wird.
Das Beispiel demonstriert dies durch Abfrage der
Zufallszahl auf die Werte 8 und 4. Nach den Schlüsselworten else
if
wird wiederum i
über einen boolschen
Ausdruck geprüft und je nach Ergebnis eine Ausgabe generiert.
import java.util.Random; public class IfClass { public static void main(String[] args){ int i = new Random().nextInt(11); if(i < 6) { System.out.println("i ist kleiner 6: " + i); } else if(i == 8) { System.out.println("i ist gleich 8: " + i); } else if(i == 4) { // nicht erreichbar System.out.println("i ist gleich 4: " + i); } else { System.out.println("i ist nicht kleiner 6: " + i); } } }
Hier wird noch ein weiterer Aspekt gezeigt: Die gesamte if-else
-Verzweigung
wird von oben nach unten ausgewertet und beim Erfüllen einer
Bedingung abgebrochen. Das Filtern auf den Wert 4
wird
im obigen Beispiel nicht ausgeführt, da bereits im ersten Block
abgefragt wird, ob i
kleiner 6
ist, was in
diesem Fall true
liefert und somit die Abfrage
terminiert.
Wenn Ihnen javabeginners.de gefällt, freue ich mich über eine Spende an diese gemeinnützigen Organisationen.