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 zwei boolean-Werten zusammen, ob sie beide true sind
  • || (gelesen “or” bzw. “oder”) — baut aus zwei boolean-Werten zusammen, ob mindestens einer von ihnen true ist

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 einen boolean-Wert “umzukehren” (man sagt auch negieren) — aus true wird false und 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 birthYear an, die dein Geburtsjahr als Zahl enthält.
  • Leg eine Variable birthMonth an, die deinen Geburtstmonat als Zahl enthält (1 = Januar, 12 = Dezember).
  • Leg eine Variable birthDay an, die den Tag innerhalb des Monats deines Geburtstags als Zahl enthält (z.B. 17 für den 17. Oktober).
  • Leg eine Variable currentYear an, die das aktuelle Jahr als Zahl enthält.
  • Leg eine Variable currentMonth an, die den aktuellen Monat als Zahl enthält.
  • Leg eine Variable currentDay an, 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ühren
  • else und else if — Alternativen formulieren
  • &&, ||, ! — Bedingungen kombinieren

Als Nächstes: Loops →

Zurück zur Übersicht