js.07 Bedingte Anweisungen


Mit Hilfe eines Wahrheitswerts (Boolean) kann der Ablauf eines Programms gesteuert werden.

Der Aufbau ist wie folgt:

wenn (Bedingung ist wahr) dann mache {
   Anweisungen ...
}

In JavaScript schreibt man das wie folgt auf:

if (...) {
    // Anweisungen
}

Wenn die Bedingung (z.B. eine Gleichung oder Ungleichung) in der Klammer den Wert true (wahr) hat, dann werden die Anweisungen zwischen den geschweiften Klammern ausgeführt. Wenn die Bedingung den Wert false (falsch) hat, dann werden die Anweisungen zwischen den geschweiften Klammern nicht ausgeführt.


In der Bedingungsklammer hinter dem Schlüsselwort if kann jeder Ausdruck stehen, der mit true oder false ausgewertet werden kann.


Beispiel:


Beispiel:

  • Gib einmal eine Zahl ein und ein anderes Mal eine Zeichenfolge, die keine Zahl ist.

Hinweis: parseInt() wandelt eine Zeichenfolge in eine Zahl um.
Ein Ausrufungszeichen ! vor einer Bedingung macht aus true den Wert false und umgekehrt.


Beispiel:

Zwei Bedingungen können logisch kombiniert werden.

  • Mit dem und-Operator && werden zwei Bedingungen so kombiniert, dass die Gesamtbedingung nur dann wahr ist, wenn jede Bedingung wahr ist. Sonst ist die Gesamtbedingung falsch.

  • Mit dem oder-Operator || werden zwei Bedingungen so kombiniert, dass die Gesamtbedingung nur dann falsch ist, wenn jede Bedingung falsch ist. Sonst ist die Gesamtbedingung wahr.


Beispiel:


Beispiel:

Bedingte Verzweigungen können beliebig ineinander verschachtelt werden.

Wenn eine Bedingung wahr ist, dann wird der Code zwischen den folgenden geschweiften Klammern ausgeführt. Man kann einen weiteren Block anfügen, der dann ausgeführt wird, wenn die Bedingung falsch ist. Der Aufbau ist wie folgt:

wenn (Bedingung ist wahr) dann mache {
  Anweisungen ...
} sonst mache {
  Anweisungen ...
}

In JavaScript schreibt man das wie folgt auf:

if (...) {
  // Anweisungen
} else {
  // Anweisungen
}

Damit kann man einen Algorithmus verzweigen, indem man zwei Blöcke programmiert, von denen nur einer ausgeführt wird, je nachdem ob die Bedingung wahr oder falsch ist.


Beispiel: Die Bedingung ist wahr, also wird der Block hinter if ausgeführt:


Beispiel: Die Bedingung ist falsch, also wird der Block hinter else ausgeführt:

Man kann viele verschiedene Bedingungen in einer einzigen Verzweigung verschachteln. Das erreicht man, indem else und if kombiniert werden.


Beispiel Ampel:

  • Ersetze den Wert der Variablen ampel mit 'Rot' oder 'Gelb'.

Beispiel Tageszeit:

Eine verschachtelte Else-if-Verzweigung kann mit einer Switch-Verzweigung übersichtlicher notiert werden. Der Aufbau in JavaScript ist wie folgt:

switch(ausdruck) {
  case x: // Fall 1
    // Anweisungen
    break; // Wert gefunden, Switch verlassen
  case y: // Fall 2
    // Anweisungen
    break; // Wert gefunden, Switch verlassen
  default: //wird ausgeführt, wenn kein Fall zutrifft
    // Anweisungen
}

Der default-Block kann weggelassen werden, wenn immer sicher einer der Fälle gefunden wird.


Das Ampel-Beispiel kann mit Hilfe der Switch-Verzweigung übersichtlicher geschrieben werden.

Die Anweisung break; muss in jeder case-Verzweigung stehen, damit der switch-Block verlassen wird, sobald eine zutreffender Wert gefunden wurde.


Ein weiteres Beispiel:


Teste dich!

  • Ändere folgendes Programm so, dass ein kleines Quiz entsteht.

  • Schreibe das Quiz so, dass die if-else-Verzweigung genutzt wird.

  • Schreibe das Programm so um, dass man nur eine einzige if-Bedingung braucht.
  • Teste das Programm mit verschiedenen negativen und positiven Zahlen.

  • Schreibe das Programm so um, dass man das gewünschte Essen in einem Dialog eingeben kann.