JavaScript aktivieren, um diese Seite anzuzeigen.

Die if/else Anweisungen sind Kontrollstrukturen und dienen innerhalb des Rulesets der Ablaufsteuerung. Sie sind ein elementarer Bestandteil des Regelwerks. Ist eine Bedingung erfüllt, wird eine Aktionen ausgeführt, sonst wird eine alternative Aktion ausgeführt. Die auszuführende Aktion kann immer nur ein Befehl sein. Wenn als Aktion mehrere Befehle ausgeführt werden sollen, so können diese einzelnen Befehle in einem Anweisungsblock zusammengefasst werden. Ein Anweisungsblock wird innerhalb geschweifter Klammern geschrieben.

 

Mit if wird festgelegt, welche Voraussetzung für das Ausführen einer Aktion erfüllt sein muss. Mit else wird eine alternative Aktion eingeleitet, sollte die durch if geforderte Bedingung nicht erfüllt sein. Eine if/else Anweisung muss nicht durch ein Semikolon abgeschlossen werden. if/else Anweisungen können geschachtelt werden.

 

Ein führendes Ausrufezeichen «!» bei einem Befehl innerhalb der Abfrage invertiert die Funktion des Befehls.

 

Aufbau einer if/else Anweisung

 

if (Bedingung) {
 Anweisungsblock 1;

}

 

oder

 

if (!Bedingung) {
 Anweisungsblock 1;
}

 

oder

 

if (Bedingung) {
 Anweisungsblock 1;
} else {
 Anweisungsblock 2;
}

 

 

oder

 

if (Bedingung) {
 Anweisungsblock 1;
} else if (Bedingung) {
 Anweisungsblock 2;
} else {
 Anweisungsblock 3;
}

 

 

Die if-Anweisung bestimmt aufgrund des Rückgabewertes der Bedingung den weiteren Verlauf im Programmablauf. Die Bedingung besteht aus einem einzelnen Befehl, welcher mindestens einen Rückgabewert hat.

Anweisungsblock 1 wird nur dann ausgeführt, wenn der Rückgabewert positiv ist. Andernfalls wird ausschliesslich Anweisungsblock 2 ausgeführt.

Beispiel

a)

Zeile

Code

01

if (authenticated()) {

02

} else {

03

createaccount();

04

log(1,'user account generated');

05

}

 

b)

Zeile

Code

01

if (!authenticated()) {

03

createaccount();

04

log(1,'user account generated');

05

}

 

Erklärung

Das Beispiel a) wertet den Rückgabewert des Befehls authenticated() aus. Konnte der interne Absender der E-Mail erfolgreich authentifiziert werden, so ist der Rückgabewert true. Nachdem für diesen Fall keine weitere Anweisung definiert wurde, wird ohne weitere Aktion im Programmablauf fortgefahren. Schlug das Authentifizieren fehl, das heisst der Rückgabewert ist false, so kommt der unter else angeführte Anweisungsblock zum Tragen. Im Beispiel würde somit ein Benutzerkonto für den Absender angelegt und ein OpenPGP Schlüsselpaar erzeugt.

 

In Beispiel b) wird die Funktion des Befehls authenticated() durch das vorangestellte ! in !authenticated() invertiert, wodurch der nachfolgende Anweisungsblock der else Bedingung aus Beispiel a) entspricht.

Das Programmierergebnis beider Varianten wird also das gleiche sein.

  

Tastaturnavigation

F7 für Tastaturnavigation
ALT halten und Buchstaben drücken

Diese Info: ALT+q
Seitentitel: ALT+t
Seiteninhalt: ALT+b
Inhalte: ALT+c
Suche: ALT+s
Ebene höher: ESC