Bedingungen und Vergleiche: If-Else

Mit dem Laden des Videos akzeptierst du die Datenschutzerklärung von YouTube. Wenn du die Menge an Daten reduzieren möchtest, die YouTube von dir sammelt, solltest du dich vorher aus deinem YouTube-Account ausloggen, das Speichern von Cookies für das Google-Ads-Programm deaktivieren und/oder Cookies im Browser blockieren.
YouTube immer automatisch ladenInhaltsverzeichnis
Als Text lesen
Bisher haben wir ziemlich langweilige Programme geschrieben, die keine wirkliche Programmlogik enthalten. Oft wollen wir aber einen bestimmten Programmteil nur dann ausführen, wenn eine bestimmte Bedingung zutrifft. Eine derartige Überprüfung kann mit einer if
-Abfrage umgesetzt werden:
BEDINGUNG könnte hierbei beispielsweise ein Vergleich zweier Variablen oder einer Variable mit einem Literal (z.B. einer konkreten Zahl) sein:
Das Ergebnis in diesem Beispiel wäre dann folgende Konsolenausgabe:
a ist kleiner als zehn b ist kleiner oder gleich drei a und b sind nicht gleich
Achtung: =
und ==
sind zwei komplett unterschiedliche Operatoren!
=
ist der Zuweisungsoperator, der einer Variable einen neuen Wert gibt==
ist der Gleichheitsoperator, der zwei Werte auf exakte Übereinstimmung überprüft
Damit ein bestimmter Programmteil ausgeführt wird, wenn die Bedingung in der if
-Abfrage genau nicht wahr ist, kannst du das else
-Keyword verwenden:
Du kannst auch in einem else
-Block eine weitere Abfrage durchführen, indem du else if
verwendest:
Eine Sache noch: Vergleiche niemals, niemals, niemals String
s mit ==
bzw. !=
!
Dabei kann ziemlich viel schief gehen. Wie du String
s auf Gleichheit prüfen kannst zeige ich dir später noch.
In der folgenden Aufgabe sind bereits die Variablen a
, b
, und op
gegeben. Das Programm soll die Zahlen a
und b
miteinander verrechnen. Dabei entscheidet op
darüber, welche Grundrechenoperation verwendet wird:
- Für
op == 0
solla
mitb
addiert werden - Für
op == 1
sollb
vona
subtrahiert werden - Für
op == 2
solla
mitb
multipliziert werden - Für
op == 3
solla
durchb
dividiert werden - Falls
op
eine andere Zahl ist, sollUngültige Operation.
ausgegeben werden
Die Rechnung soll (im Falle korrekter Eingaben) wie folgt auf der Konsole ausgegeben werden: 7 - 2 = 5
(Für die beispielhaften Eingaben a = 7
, b = 2
, op = 1
)
Alles was in einer Zeile rechts von //
steht, ist ein Kommentar. Kommentare sind für die Programmausführung irrelevant und werden ignoriert:
Mehrere Zeilen hintereinander lassen sich auch folgendermaßen auskommentieren:

Mit dem Laden des Online Editors akzeptierst du die Datenschutzerklärung von JDoodle, einem Produkt der Nutpan pty Ltd (Australien). JDoodle verwendet die Tools reCAPTCHA und Google Analytics, wodurch Daten an Google übertragen werden können. Ich habe leider keinen Einfluss auf diesen Prozess. Du kannst Google Analytics über ein Browserplugin deaktivieren.
Online Editor immer automatisch ladenTeste dein Programm mit unterschiedlichen Eingaben. Was passiert, wenn b = 0
und op = 3
ist? Behebe dieses Problem durch einen weiteren if
-else
-Block.
Häufige Fehlerquellen
- Semikolon vergessen
=
statt==
verwendet- Fehlermeldung bei falscher Operation vergessen
- Leerzeichen vor/nach Operation oder vor/nach dem = vergessen
- Klammern um Addition vergessen, dadurch werden
a
undb
inString
s umgewandelt und konkateniert, anstatt miteinander addiert zu werden - Klammern um Subtraktion vergessen, dadurch kommt der Fehler
bad operand types for binary operator '-'
- Sonderfall "Division durch 0" nicht beachtet