Verzweigungen
Verzweigungen ermöglichen es deinem Programm, Entscheidungen zu treffen! Je nach Bedingung wird ein anderer Programmteil ausgeführt.
Alltags-Beispiel: Wenn es regnet, nehme ich einen Regenschirm mit. Wenn es nicht regnet, gehe ich ohne Regenschirm.
In der Programmierung können wir solche Entscheidungen mit if
-Anweisungen umsetzen.
In Java gibt es zwei Hauptarten von Verzweigungen:
- Bedingte Anweisung (
if
,else
) - Fallunterscheidung (
switch
)
Die if-Anweisung
Die if
-Anweisung führt Code nur aus, wenn eine Bedingung erfüllt ist.
Grundform
if (Bedingung) {
// Code, der ausgeführt wird, wenn die Bedingung wahr ist
}
Beispiel 1: Einfache Bedingung
Aufgabe: Ändere das Alter auf verschiedene Werte und beobachte die Ausgabe!
if-else: Zwei Möglichkeiten
Mit else
können wir festlegen, was passiert, wenn die Bedingung NICHT erfüllt ist:
if-else if-else: Mehrere Möglichkeiten
Für komplexere Entscheidungen können wir mehrere Bedingungen verknüpfen:
Vergleichsoperatoren
Für Bedingungen brauchst du Vergleichsoperatoren:
Wichtig:
- Für Zahlen:
==
,!=
,>
,<
,>=
,<=
- Für Strings: Immer
.equals()
verwenden, nie==
!
Logische Operatoren
Du kannst mehrere Bedingungen miteinander verknüpfen:
Praktisches Beispiel: Login-System
Der Modulo-Operator (%)
Mit dem Modulo-Operator kannst du den Rest einer Division berechnen:
Übung: Schaltjahr berechnen
Ein Jahr ist ein Schaltjahr, wenn:
- Es durch 4 teilbar ist, UND
- Es NICHT durch 100 teilbar ist, ODER
- Es durch 400 teilbar ist
Beispiele: 2020 (Schaltjahr), 1900 (kein Schaltjahr), 2000 (Schaltjahr)
if ((jahr % 4 == 0 && jahr % 100 != 0) || (jahr % 400 == 0)) {
System.out.println(jahr + " ist ein Schaltjahr");
} else {
System.out.println(jahr + " ist kein Schaltjahr");
}
Die switch-Anweisung
Für viele aufeinanderfolgende if-else if
-Abfragen gibt es eine elegantere Lösung:
Wichtig bei switch:
- Vergiss nicht das
break;
nach jedem Fall! default
wird ausgeführt, wenn kein Fall passt
Teste-Dich-Projekt 1: Taschenrechner
Erstelle einen einfachen Taschenrechner, der:
- Zwei Zahlen einliest
- Eine Operation (+, -, *, /) einliest
- Das Ergebnis berechnet und ausgibt
- Bei Division durch 0 eine Fehlermeldung ausgibt
Testfälle
- 10 + 5 = 15
- 8 - 3 = 5
- 4 * 6 = 24
- 15 / 3 = 5
- 10 / 0 = Fehlermeldung
Teste-Dich-Projekt 2: Ampelschaltung
Simuliere eine Ampelschaltung:
- Eingabe: Aktueller Zustand der Ampel ("rot", "gelb", "grün")
- Ausgabe: Nächster Zustand und was zu tun ist
Ampelreihenfolge: rot → rot-gelb → grün → gelb → rot
Erweiterte Aufgabe:
- Erstelle eine Fußgängerampel, die parallel zur Autoampel läuft
- Baue einen Timer ein, der automatisch alle 3 Sekunden schaltet
- Implementiere einen "Anforderungsknopf" für Fußgänger