EMZETT.
Login

if-Statement

Kurz: Die einfachste Form der bedingten Verzweigung — ein Codeblock wird nur ausgeführt, wenn eine angegebene Bedingung wahr ist.

Genauer: Ohne einen zugehörigen else-Zweig passiert bei falscher Bedingung einfach nichts, und das Programm läuft mit dem nächsten Codeabschnitt weiter. Erst die Kombination mit else bzw. else…if erlaubt es, für den “sonst”-Fall ebenfalls gezielt zu reagieren.

Im Detail

Die Bedingung eines if-Statements ist immer ein Ausdruck, der zu einem Boolean (true/false) ausgewertet wird — in manchen Sprachen (z. B. C) werden dafür auch Zahlen implizit umgewandelt (0 = falsch, alles andere = wahr), in streng typisierten Sprachen wie Java oder TypeScript ist dagegen ausschließlich ein echter Boolean-Wert erlaubt.

if (bedingung) {
    // wird nur ausgeführt, wenn bedingung == true
}

Ein häufiger Anfängerfehler ist die Verwechslung von Zuweisung (=) und Vergleich (==/===) innerhalb der Bedingung — in manchen Sprachen (klassisch C) kompiliert if (x = 5) anstandslos und weist x den Wert 5 zu, statt ihn mit 5 zu vergleichen, was zu schwer auffindbaren Bugs führt. Moderne Sprachen/Linter warnen davor oder verbieten es sogar syntaktisch.

Bei mehreren unabhängigen Bedingungen hintereinander sollte man zwischen mehreren separaten if-Statements (jede Bedingung wird immer geprüft) und einer else…if-Kette (nur die erste zutreffende Bedingung “gewinnt”, der Rest wird übersprungen) bewusst unterscheiden — das ist ein häufiger, aber folgenreicher logischer Unterschied.

Verschachtelte if-Statements (“Nested if”) sind möglich, aber ab drei oder mehr Ebenen wird der Code schnell schwer lesbar (“Pyramid of Doom”) — oft lässt sich das durch frühzeitiges Zurückkehren (return) aus einer Funktion oder durch Umformulieren der Bedingung (z. B. mit logischen Operatoren) vermeiden.

Siehe auch: if…else, else…if