Conditionals 🔀
Ein Kernelement von allen Programmen, das wir bisher noch nicht abgedeckt haben, sind Fallunterscheidungen.
Häufig möchte man in Code etwas nur tun, wenn eine bestimmte Bedingung gilt.
Dafür gibt es if-Statements.
if
Mit if können wir Code nur dann ausführen, wenn eine bestimmte Aussage wahr ist
(erinnerst du dich an die boolean-Werte?).
Dafür schreiben wir nach dem if einen boolean-Wert in runde Klammern ()
(man nennt ihn die “Bedingung” oder condition) und danach in geschweiften
Klammern {} den Code, der ausgeführt werden soll, wenn die Bedingung wahr
(true) ist.
Wenn du allerdings die Zahl in der ersten Zeile auf 22 änderst und den Code erneut
laufen lässt, wird nur noch “Ich bin kein Teenager mehr” ausgegeben.
Man liest allgemein (das ist kein echter Code, er dient nur der Darstellung):
if (A) {
B
}
als “Wenn A gilt, dann mach B”.
Mehr boolean-Operatoren
if-Statements sind sehr wichtig — “echte” Programme müssen mit dynamischen Daten
umgehen, die von Nutzer:innen eingegeben werden. Um komplexere Bedingungen ausdrücken
zu können, gibt es eine Reihe weiterer nützlicher Operatoren:
&&(gelesen “and” bzw. “und”) — baut aus zweiboolean-Werten zusammen, ob sie beidetruesind||(gelesen “or” bzw. “oder”) — baut aus zweiboolean-Werten zusammen, ob mindestens einer von ihnentrueist
Es gibt noch einen weiteren boolean-Operator. Dieser ist ein wenig anders als
alle bisherigen: alle bisherigen Operatoren verbinden zwei Werte zu einem
neuen. Es gibt aber auch Operatoren, die aus nur einem Wert einen neuen Wert
erzeugen:
!(gelesen “not” bzw. “nicht”) — um einenboolean-Wert “umzukehren” (man sagt auch negieren) — austruewirdfalseund umgekehrt
else
Nach einem if erlaubt JavaScript optional ein else, das Code enthält, der
ausgeführt werden soll, wenn die Bedingung des ifs false war. An einem
Beispiel verdeutlicht sich das am einfachsten:
Dieses Programm gibt “Kein Schaltjahr” aus. Wenn wir year zu 2024 ändern,
wird “Schaltjahr” ausgegeben.
Man liest allgemein:
if (A) {
B
} else {
C
}
als “Wenn A gilt, dann mach B, sonst mach C”.
else if
Es ist erlaubt, auf ein else direkt wieder ein if folgen zu lassen, statt {}.
Dieses Konstrukt nennt man else if. Auch das zeigt sich am besten an einem
Beispiel:
Man liest allgemein:
if (A) {
B
} else if (C) {
D
} else {
E
}
als “Wenn A gilt, dann mach B, sonst wenn C gilt mach D, sonst mach E”.
Übung 🎯
Wir fangen ab jetzt an, in den Übungen Stück für Stück weniger genau einzelne Schritte vorzugeben, sondern nur ein bestimmtes Ergebnis bzw. Verhalten zu beschreiben, das umzusetzen ist. Das Umsetzen von größeren Zielen in kleineren Programmierschritten ist die Kernfähigkeit, die wir entwickeln wollen. Es gibt für die meisten Probleme viele verschiedene legitime Lösungswege — probier verschiedene aus!
Schreib folgendes Programm:
- Leg eine Variable
birthYearan, die dein Geburtsjahr als Zahl enthält. - Leg eine Variable
birthMonthan, die deinen Geburtstmonat als Zahl enthält (1= Januar,12= Dezember). - Leg eine Variable
birthDayan, die den Tag innerhalb des Monats deines Geburtstags als Zahl enthält (z.B.17für den 17. Oktober). - Leg eine Variable
currentYearan, die das aktuelle Jahr als Zahl enthält. - Leg eine Variable
currentMonthan, die den aktuellen Monat als Zahl enthält. - Leg eine Variable
currentDayan, die den aktuellen Tag innerhalb des aktuellen Monats als Zahl enthält.
Dein Programm soll nun die folgenden Informationen ausgeben — dynamisch von den oben genannten Variablen abhängig. Das heißt, dass das Programm weiterhin korrekte Angaben machen würde, wenn man nur die obigen Variablen ändert:
- Dein aktuelles Alter als ganze Zahl.
- In welchem Quartal du geboren bist (Q1 = Jan-Mär, Q2 = Apr-Jun, Q3 = Jul-Sep, Q4 = Okt-Dez).
- Ob dieses Jahr sowohl die Fußball-Europameisterschaft (seit 1960 alle 4 Jahre) als auch die Europawahl (seit 1979 alle 5 Jahre) stattfindet.
- Ob du heute Geschenke bekommst (wir definieren dafür: an deinem Geburtstag und am 24. Dezember gibt’s Geschenke).
💡 Tipp: Teile solche Probleme in kleine Einzelschritte auf und speichere Zwischenergebnisse in Variablen mit aussagekräftigen Namen.
Geschafft! 🚀
Du beherrschst jetzt:
if— Code nur unter einer Bedingung ausführenelseundelse if— Alternativen formulieren&&,||,!— Bedingungen kombinieren
Als Nächstes: Loops →