Java Tutorial Teil 5 – Bedingungen

Schleifen und Bedingungen sind fundamentale Konzepte von vielen Programmiersprachen. Je nachdem, ob eine bestimmte Bedingung erfüllt ist, soll eine Aktion durchgeführt werden, eventuell mehrmals. In diesem Teil wird es um Bedingungen gehen, Schleifen werden dann im nächsten Teil behandelt. Die im letzten Teil vorgestellten booleschen Operatoren und Vergleichsoperatoren sind hier besonders wichtig.

if-else-Anweisungen

Durch eine if-else-Verzweigung kann eine Aussage der Form „Wenn … gilt, soll … passieren. Ansonsten passiert …“ in Java umgesetzt werden. Die Syntax (also der allgemeine Aufbau) des Befehls sieht so aus:

Wenn BEDINGUNG zu true ausgewertet wird, wird AKTION1 ausgeführt, ansonsten wird AKTION2 ausgeführt. Innerhalb der geschweiften Klammern können aber natürlich auch mehrere Aktionen stehen. Außerdem ist der else-Block nicht zwingend erforderlich. Prinzipiell können auch die geschweiften Klammern weggelassen werden, allerdings nur dann, wenn nur eine einzelne Aktion durchgeführt werden soll.

Betrachte das folgende Beispiel:

Bei der if-else-Anweisung von Zeile 3-8 wird Zeile 4 ausgeführt, weil die Bedingung true in Zeile 3 immer gilt. Der else-Block wird demnach übersprungen.

Bei Zeile 12-22 gibt es eine geschachtelte if-else-Anweisung. Die Bedingung in Zeile 12 gilt nicht, also wird der else-Block ab Zeile 15 gestartet. In diesem ist wieder eine if-else-Anweisung, bei der die Bedingung in Zeile 16 nicht gilt, womit der else-Block ab Zeile 19 ausgeführt wird. Die Ausgabe ist also a < b.

Bei der if-Anweisung in Zeile 24 gibt es keinen else-Block. Wäre die if-Anweisung nicht erfüllt, würde sie einfach übersprungen werden.

Ternärer Operator

Der sogenannte ternäre Operator funktioniert ähnlich wie eine if-else-Anweisung. Er ist nicht wirklich notwendig, spart aber Platz und kann die Übersichtlichkeit verbessern. Die Syntax lautet:

Die Semantik (Bedeutung) des Befehls ist folgende: Wenn BEDINGUNG erfüllt ist, liefert der Ausdruck WERT1 zurück, ansonsten WERT2.

Bei dem oberen Beispiel wird in Zeile 6 der ternäre Operator verwendet. Gilt a < b wird b in max gespeichert. Wenn a >= b ist, wird a in max gespeichert. Zeile 8-11 tut das gleiche mit einer if-else-Verzweigung.

switch-Anweisungen

Das Beispiel zu den if-else-Anweisungen hat gezeigt, dass die Anweisungen geschachtelt werden müssen, wenn mehr als nur zwei Bedingungen eintreten könnten. Je mehr Bedingungen eintreten, desto unübersichtlicher wird der Code. Daher gibt es in Java die switch-Anweisung. Die Syntax ist folgende:

Der Wert WERT wird mit den Werten WERT1, WERT2, …, WERTx verglichen. Ist er mit einem identisch, werden alle Aktionen ausgeführt, die von da an stattfinden. Jeder der Fälle kann natürlich auch mehrere Aktionen ausführen, wobei hier keine geschweiften Klammern nötig sind. Möchte man, dass nur die Aktionen des entsprechenden Falls ausgeführt werden, muss als letzte Aktion bei jedem Fall die Anweisung break; hinzugefügt werden. Diese bewirkt, dass direkt zum Ende der switch-Anweisung gesprungen wird. Der default-Fall ist, wie der Name schon sagt, der Standardfall. Trifft kein anderer Fall zu, werden die Aktionen des Standardfalls ausgeführt.

Die Werte können übrigens folgender Art entsprechen (wobei noch nicht alle in diesem Tutorial vorgestellt wurden):

  • byte
  • short
  • char
  • int
  • Aufzählungsobjekte (Enum-Objekte)
  • String
  • Character
  • Byte
  • Short
  • Integer

Das folgende Beispiel zeigt, wie eine switch-Anweisung genutzt werden kann, um zu einer Zahl den passenden Monatsnamen auszugeben. Die Ausgabe ist November. Ohne die Anweisungen break; würden November, Dezember und Kein gültiger Monat ausgegeben werden.

Mit if-else-Anweisungen, würde das Programm etwa so aufgebaut sein:

Oder etwas übersichtlicher so:

 

Weiter zu Teil 6 – Schleifen

Zur Übersicht von allen Teilen des Tutorials

Vielleicht gefällt dir auch...

3 Antworten

  1. 30. April 2015

    […] beim letzten Teil des Tutorials schon angekündigt, geht es dieses Mal um Schleifen. Durch diese werden Teile des Programms […]

  2. 30. April 2015

    […] Bedingungen: Durch Bedingungen können Aussagen der Art “Wenn… gilt, soll … passieren.” dargestellt werden. […]

  3. 30. April 2015

    […] Weiter zu Teil 5 – Bedingungen […]

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.