Verschachtelte Bedingungen
Ein Codeblock kann beliebigen Code enthalten, auch eine weitere if-Anweisung. Ein if im Block eines anderen if heißt verschachtelte Bedingung. Sie ist nützlich, wenn eine Frage erst nach einer anderen Sinn ergibt. Im Kino prüfen wir zum Beispiel zuerst, ob der Besucher ein Ticket hat, und erst dann, wie alt er ist:
const hatTicket = true;
const alter = 15;
if (hatTicket) {
if (alter >= 18) {
console.log("Viel Spaß im Film");
} else {
console.log("Tut mir leid, dieser Film ist erst ab 18");
}
} else {
console.log("Bitte kaufe zuerst ein Ticket");
}Das gibt Folgendes aus:
Tut mir leid, dieser Film ist erst ab 18Die innere if-Anweisung wird nur ausgeführt, wenn hatTicket wahr ist. Jeder verschachtelte Block ist um 4 weitere Leerzeichen eingerückt, damit du siehst, welche } und welches else zu welchem if gehören. Ohne Einrückung werden verschachtelte Bedingungen schnell unübersichtlich.
Verschachtelte Bedingungen lassen sich oft mit logischen Operatoren und else if umschreiben. Dieser Code macht dasselbe:
const hatTicket = true;
const alter = 15;
if (hatTicket && alter >= 18) {
console.log("Viel Spaß im Film");
} else if (hatTicket) {
console.log("Tut mir leid, dieser Film ist erst ab 18");
} else {
console.log("Bitte kaufe zuerst ein Ticket");
}Das gibt Folgendes aus:
Tut mir leid, dieser Film ist erst ab 18Das Programm kommt nur zu else if (hatTicket), wenn die erste Bedingung falsch ist. Mit Ticket heißt das, dass der Besucher unter 18 ist. Keine der beiden Varianten ist falsch: Nimm die, die in deiner Situation leichter zu lesen ist.
So schreibst du es:
Anweisungen
- 1
Ein Schüler besteht die Prüfung mit 50 Punkten oder mehr und besteht mit Auszeichnung mit 75 oder mehr. Schreibe im Block von
if (punkte >= 50)anstelle des Kommentars eine verschachtelteif-Anweisung mit der Bedingungpunkte >= 75, dieBestanden mit Auszeichnungausgibt, und mit einemelse-Zweig, derBestandenausgibt. - 2
Ändere
punkteauf60und führe das Programm aus. Es sollBestandenausgeben.