Kotlin beim Ausdruck (mit Beispielen)

In diesem Artikel erfahren Sie anhand verschiedener Beispiele, wann Sie in Kotlin konstruieren.

Kotlin beim Konstruieren

Das whenKonstrukt in Kotlin kann als Ersatz für die Java-Switch-Anweisung angesehen werden. Es wertet einen Codeabschnitt unter vielen Alternativen aus.

Beispiel: Einfach beim Ausdruck

 fun main(args: Array) ( val a = 12 val b = 5 println("Enter operator either +, -, * or /") val operator = readLine() val result = when (operator) ( "+" -> a + b "-" -> a - b "*" -> a * b "/" -> a / b else -> "$operator operator is invalid operator." ) println("result = $result") ) 

Wenn Sie das Programm ausführen, lautet die Ausgabe wie folgt:

 Geben Sie den Operator entweder +, -, * oder / * ein. Ergebnis = 60

Das obige Programm übernimmt eine Eingabezeichenfolge vom Benutzer (Empfohlene Lektüre: Eingabe der Zeichenfolge vom Benutzer in Kotlin). Angenommen, der Benutzer hat eingegeben *. In diesem Fall wird der Ausdruck a * bausgewertet und der Wert dem variablen Ergebnis zugewiesen.

Falls keine der Verzweigungsbedingungen erfüllt sind (Benutzer eingegeben nichts außer +, -, * oder /), elseZweig ausgewertet wird.

Im obigen Beispiel haben wir whenals Ausdruck verwendet. Die Verwendung whenals Ausdruck ist jedoch nicht obligatorisch . Beispielsweise,

 fun main(args: Array) ( val a = 12 val b = 5 println("Enter operator either +, -, * or /") val operator = readLine() when (operator) ( "+" -> println("$a + $b = $(a + b)") "-" -> println("$a - $b = $(a - b)") "*" -> println("$a * $b = $(a * b)") "/" -> println("$a / $b = $(a / b)") else -> println("$operator is invalid") ) )

Wenn Sie das Programm ausführen, lautet die Ausgabe wie folgt:

 Geben Sie den Operator entweder +, -, * oder / - 12 - 5 = 7 ein 

Hier whenist kein Ausdruck (Rückgabewert von whenist nichts zugeordnet). In diesem Fall ist die elseVerzweigung nicht obligatorisch.

Nur wenige Möglichkeiten

Kombinieren Sie zwei oder mehr Verzweigungsbedingungen mit einem Komma. Beispielsweise,

 fun main(args: Array) ( val n = -1 when (n) ( 1, 2, 3 -> println("n is a positive integer less than 4.") 0 -> println("n is zero") -1, -2 -> println("n is a negative integer greater than 3.") ) )

Wenn Sie das Programm ausführen, lautet die Ausgabe wie folgt:

 n ist eine negative ganze Zahl größer als 3.

Überprüfen Sie den Wert im Bereich. Beispielsweise,

 fun main(args: Array) ( val a = 100 when (a) ( in 1… 10 -> println("A positive number less than 11.") in 10… 100 -> println("A positive number between 10 and 100 (inclusive)") ) )

Wenn Sie das Programm ausführen, lautet die Ausgabe wie folgt:

 Eine positive Zahl zwischen 10 und 100 (einschließlich)

Überprüfen Sie, ob ein Wert von einem bestimmten Typ ist.

Um zu überprüfen, ob ein Wert zur Laufzeit von einem bestimmten Typ ist, können wir den Operator is und! Is verwenden. Beispielsweise,

 wenn (x) (ist Int -> print (x + 1) ist String -> print (x.length + 1) ist IntArray -> print (x.sum ())) 

Verwenden Sie Ausdrücke als Verzweigungsbedingung. Beispielsweise,

 fun main(args: Array) ( val a = 11 val n = "11" when (n) ( "cat" -> println("Cat? Really?") 12.toString() -> println("Close but not close enough.") a.toString() -> println("Bingo! It's eleven.") ) )

Wenn Sie das Programm ausführen, lautet die Ausgabe wie folgt:

Bingo! Es ist elf.

Interessante Beiträge...