Bedingte Anweisungen sind in der Programmierung Konstrukte, die es ermöglichen, einen Programmablauf auf Basis von Bedingungen zu steuern. Die Bedingung kann beispielsweise auf eine bestimmte Variable oder den Zustand eines Programms verweisen. Wenn die Bedingung erfüllt ist, wird der Code innerhalb der bedingten Anweisung ausgeführt. Andernfalls wird der Code übersprungen oder ein alternativer Codeblock ausgeführt.

In Kotlin gibt es zwei Arten von bedingten Anweisungen: if-Anweisungen und when-Ausdrücke.

Die if-Anweisung ermöglicht eine Aktion auszuführen, wenn eine Bedingung wahr ist. Die Syntax der if-Anweisung ist ähnlich wie in anderen Programmiersprachen, aber es gibt einige Unterschiede.

Die allgemeine Syntax der if-Anweisung in Kotlin lautet wie folgt:

Hier ist ein einfaches Beispiel:

Dieser Code definiert eine Variable namens number mit dem Wert 10. Dann wird eine bedingte Anweisung mit der if-Anweisung eingeleitet. Die Bedingung lautet number > 5, was bedeutet, dass der Code-Block innerhalb der geschweiften Klammern nur ausgeführt wird, wenn die Variable number größer als 5 ist. In diesem Fall ist das der Fall, da number den Wert 10  hat, der größer als 5  ist. Daher wird der Code innerhalb der geschweiften Klammern ausgeführt und die Ausgabe „The number is greater than 5“ wird auf der Konsole gedruckt.

Wenn der Code-Block nur aus einem Ausdruck besteht, können die geschweiften Klammern im Grunde weggelassen werden:

Die if-else-Anweisung ermöglicht, einen von zwei Code-Blöcken auszuführen, abhängig davon, ob eine Bedingung wahr oder falsch ist. Die Syntax der if-else-Anweisung in Kotlin lautet wie folgt:




Dieser Code definiert eine Variable namens age mit dem Wert 18. Dann wird eine bedingte Anweisung mit der if-Anweisung eingeleitet. Die Bedingung lautet age >= 18, was bedeutet, dass der Code-Block innerhalb der geschweiften Klammern nur ausgeführt wird, wenn das Alter der Person 18 Jahre oder älter ist. In diesem Fall ist das der Fall, da age den Wert 18 hat, was bedeutet, dass die Person volljährig ist. Daher wird der Code innerhalb der ersten geschweiften Klammern ausgeführt und die Ausgabe „You are of legal age“ wird auf der Konsole gedruckt. Wenn die Bedingung falsch ist (d.h. das Alter der Person ist unter 18 Jahre), wird der Code innerhalb der else-Anweisung ausgeführt und die Ausgabe „You are a minor“ wird auf der Konsole gedruckt.

Die if-Anweisung kann auch einen Wert zurückgeben. Zum Beispiel können wir das Maximum von zwei Zahlen finden:

Wenn zusätzliche Aktionen ausgeführt werden müssen, um den zurückgegebenen Wert zu bestimmen, können diese Aktionen in Code-Blöcken platziert werden:

Am Ende jedes Blocks wird der zurückgegebene Wert angegeben.

In Kotlin gibt es auch die if-else-if-Anweisung, die es ermöglicht, mehrere Bedingungen zu überprüfen und verschiedene Code-Blöcke auszuführen, abhängig von den Bedingungen. Die Syntax für die if-else-if-Anweisung lautet wie folgt:

Hier ist ein Beispiel für die Verwendung der if-else-if-Anweisung, um das Notensystem anhand der Punktzahl zu bestimmen:

when ist eine bedingte Anweisung in Kotlin, die es ermöglicht, eine Vielzahl von Bedingungen zu überprüfen und den entsprechenden Code-Block auszuführen, der mit der passenden Bedingung verknüpft ist.

Hier ist ein Beispiel für die Verwendung von when, um den Wochentag auf der Grundlage des Tages der Woche zu ermitteln:

Vergleich mit Gruppe von Werten

Ein Vergleich kann mit einer Gruppe von Werten durchgeführt werden. Dabei ist es möglich, die gleichen Aktionen für mehrere dieser Werte zur selben Zeit zu definieren. In diesem Fall werden die Werte durch Kommas getrennt aufgelistet,

Man kann auch einen Wert mit einem ganzen Bereich von Werten vergleichen, indem man den in-Operator verwendet.

Wenn der in-Operator es ermöglicht herauszufinden, ob ein Wert innerhalb eines bestimmten Bereichs liegt, so erlaubt die Kombination von Operatoren !in die Überprüfung, ob ein Wert nicht in einer bestimmten Sequenz enthalten ist.

when-Ausdruck und dynamisch berechnete Werte

Der when-Ausdruck kann auch mit dynamisch berechneten Werten verglichen werden.

When kann außerdem auch ein dynamisch berechnetes Objekt entgegennehmen.

Es ist sogar möglich, Variablen zu definieren, die innerhalb des when-Ausdrucks verfügbar sein werden.

Die Konstruktion when kann auch als Alternative zum if..else eingesetzt werden. Dabei muss nicht unbedingt der Wert eines Objekts verglichen werden. Stattdessen wird eine Reihe von Bedingungen überprüft. Sobald eine der Bedingungen „true“ zurückgibt, wird der zugehörige Satz von Anweisungen ausgeführt.

Ähnlich wie if-Konstrukt kann der when-Ausdruck einen Wert zurückgeben. Das zurückgegebene Ergebnis wird durch den Pfeiloperator -> definiert.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert