Verzweigungen - Grundlagen Java

Verzweigungen in Java

Eine Verzweigung legt fest, welcher Programmabschnitt unter welcher Bedingung ausgeführt wird. Es gibt dabei if else- if else if else- und switch-Verzweigungen.


Arten von Verzweigungen in Java

Du kannst dir eine Verzweigung folgendermaßen vorstellen:

„Wenn ich jetzt anfange zu lernen, dann bekomme ich eine 1. Ansonsten wird es eine schlechtere Note.“

Jan überlegt, ob er lieber lernen oder stricken soll.

Diese Verzweigung hat also eine Bedingung - das Lernen - und wenn sie erfüllt ist, bekommt Jan das eine Ergebnis - eine Eins - und wenn er die Bedingung nicht erfüllt, das andere - eine schlechtere Note.

Genau so kannst du dir auch Verzweigungen in Java vorstellen. Hierbei gibt es jedoch verschiedene Arten von Verzweigungen:

  • if, else-Verzweigung
  • if, else if, else-Verzweigung
  • switch case

if, else

Bei der if else-Verzweigung gibt es genau zwei Programmabschnitte, die je nach Erfüllung der Bedingung ausgefürt werden können.

Schau dir erst einmal den Aufbau einer if - else-Verzweigung an:

Hier versteckt sich noch mehr!
Besuche die App, um alle Inhalte zu sehen!

Der if-Teil besteht aus dem Keyword if, einer Klammer mit einer Bedingung als Inhalt und geschweiften Klammern.

Innerhalb dieser steht der Programmabschnitt, der ausgeführt werden soll, wenn die if-Bedingung erfüllt ist, also zu true ausgewertet wird.

In diesem Fall soll getAnA (bekomme eine Eins) auf true gesetzt werden .

Merk dir also: Der if-Teil wird nur dann ausgeführt, wenn die Bedingung zu true ausgewertet wird!

Der else-Teil hingegen enthält keine Bedingung. Er wird immer dann ausgeführt, wenn die if-Bedingung zu false ausgewertet wird. Auch im else-Teil ist ein Programmabschnitt enthalten, der dann ausgeführt wird.

Schau dir das nochmal bei folgender Grafik an:

If else-Verzweigung. Wenn die Bedingung A zu true ausgewertet wird, wird Codeblock B ausgeführt. Ansonsten wird Codeblock C ausgeführt.

Die if else-Verzweigung wird gestartet. Es wird die Bedingung A überprüft. Wenn sie true ist, dann wird Programmabschnitt B ausgeführt. Wenn sie false ist, dann Programmabschnitt C. Danach ist die if else-Verzweigung zu Ende.

Der if-Teil kann übrigens auch alleine stehen, wenn eine Bedingung überprüft und, wenn diese nicht eintrittt, nichts weiter passieren soll. Dann wird der Programmcode einfach weiter durchlaufen:

Hier versteckt sich noch mehr!
Besuche die App, um alle Inhalte zu sehen!

Wenn die Tage bis zur Klausur null sind, dann lohnt es sich auch nicht mehr, mit dem Lernen anzufangen, daher wird hier kein else-Teil benötigt.

if, else if, else

Die if, else if, else-Verweigung ist sehr ähnlich zur if, else-Verzweigung. Sie hat auch einen if- und einen else-Teil. Zusätzlich hat sie jedoch noch einen else if-Teil. Dieser wird verwendet, wenn noch eine Bedingung mehr überprüft werden soll, wie im folgenden Beispiel:

Hier versteckt sich noch mehr!
Besuche die App, um alle Inhalte zu sehen!

In diesem Fall interessiert es Jan zusätzlich, welche Note er überhaupt noch erreichen kann, wenn er nur noch vier Tage bis zur Klausur hat.

Wenn er zwar noch nicht lernt, aber noch fünf Tage bis zur Klausur hat, kann er noch eine Zwei schaffen. Da er jedoch nur noch vier Tage hat, wird es wahrscheinlich eine Drei oder schlechter.

switch case

Stell dir vor, Jan möchte jetzt nicht nur wissen, dass er eine Drei oder schlechter bekommt, wenn er nur noch zwei Tage zum Lernen hat, sondern die genaue Note. Da das ganz schön viele else if-Fälle werden würden, gibt es für solche Fälle den switch case. Beim switch case werden alle aufgestellten Bedingungen nach und nach durchlaufen, bis entweder eine Bedingung erfüllt oder die ganzen Fälle (cases) durchlaufen sind:

Hier versteckt sich noch mehr!
Besuche die App, um alle Inhalte zu sehen!

Jan hat sich nun mithilfe einer switch-Verzweigung genau aufgeschlüsselt, welche Note er bekommen würde, wenn er noch sechs, fünf, vier, drei, zwei oder einen Tag zum Lernen hat.

Eine switch-Verzweigung besteht dabei immer aus einem Kopf und einem Rumpf.

Im Kopf steht der Name der Methode, hier also switch. Danach folgen runde Klammern, in dem Parameter, die geprüft werden sollen, übergeben werden. Darauf folgen wie immer geschweifte Klammern.

Innerhalb dieser Klammern ist der Rumpf der Methode. Hier stehen die verschiedenen Fälle, die überprüft werden sollen. Sie sind gekennzeichnet mit dem Keyword case. Hinter jedem case folgt der Wert, mit dem der übergebene Parameter verglichen werden soll.

Stimmen sie überein, wird der Code im Rumpf des jeweiligen Falles ausgeführt.

Stimmen sie nicht überein, wird der nächste Fall überprüft.

Wenn alle Fälle überprüft wurden und keiner zutreffend war, wird der default-Teil ausgeführt.

In jedem case-Teil der Methode steht hinter den Anweisungen das Keyword break. Das ist wichtig, da dadurch nach Ausführen der Anweisungen des jeweiligen Falles nicht noch mögliche weitere Fälle überprüft werden. Auch der default-Teil enthält aus Robustheitsgründen einen break.

Im Beispiel von Jan hat er noch vier Tage zum Lernen. Daher wird case 6, case 5 und case 4 überprüft. Bei case 4 werden aufgrund der Übereinstimmung mit daysTillExam die Anweisungen ausgeführt. Hier wird also „Ich bekomme eine 3!“ auf die Konsole ausgegeben. Danach folgt das break-Argument, die Überprüfung bricht also an dieser Stelle ab.

Jan überlegt, dass er in dem Test eine 3 bekommt.

Neben int kann auch ein String-Parameter mit verschiedenen Fällen verglichen werden. Jedoch funktioniert das Ganze nicht bei boolschen Ausdrücken, wie daysTillExam > 4.

Eine weitere Eigenschaft der switch-Cases ist, dass mehrere Fälle zusammengefasst werden können, wenn sie dieselben Anweisungen enthalten würden:

Hier versteckt sich noch mehr!
Besuche die App, um alle Inhalte zu sehen!

Wenn Jan hier noch acht, sieben oder sechs Tage zum Lernen hätte, würde er bei jedem dieser Fälle eine Eins bekommen, daher kann er diese Fälle zusammenfassen.


Beispiel

Jan und seine Freunde und Freundinnen möchten zum lang ersehnten Camping-Ausflug starten. Eine Sache muss jedoch vorher noch überprüft werden:

Hier versteckt sich noch mehr!
Besuche die App, um alle Inhalte zu sehen!

Jan, Nicole und Jeremiah haben schon richtig Lust auf den Campingausflug. Jedoch ist ihr neues E-Auto nur 20% geladen. Das Auto muss also erstmal geladen werden. Da die Ladezeit sehr lange dauert, kann der Trip nicht direkt starten und sie haben dadurch keine Zeit mehr, vor der Abreise mit dem Auto nochmal einkaufen zu gehen. Sie haben jetzt also keine Verpflegung, aber da sie in der Wildnis campen, werden sie schon hoffentlich irgendwas Essbares finden.

Jan, Nicole und Jeremiah sitzen im Auto und haben sehr viel Hunger.
No items found.

simpleclub ist am besten in der App.

Mit unserer App hast du immer und überall Zugriff auf: Lernvideos, Erklärungen mit interaktiven Animationen, Übungsaufgaben, Karteikarten, individuelle Lernpläne uvm.

Jetzt simpleclub Azubi holen!

Mit simpleclub Azubi bekommst du Vollzugang zur App: Wir bereiten dich in deiner Ausbildung optimal auf deine Prüfungen in der Berufsschule vor. Von Ausbilder*innen empfohlen.

Jetzt simpleclub Azubi holen