Kotlin kui väljend (koos näidetega)

Lang L: none (table-of-contents)

Sellest artiklist saate teada, kuidas Kotlinis mitmesuguste näidete abil ehitada.

Kotlin kui ehitada

whenKonstrukt Kotlin võib vaadelda kui asendaja Java lüliti avaldus. See hindab koodilõiku paljude alternatiivide seas.

Näide: väljendit kasutades lihtne

 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") ) 

Programmi käivitamisel on väljund umbes selline:

 Sisestage operaator kas +, -, * või / * tulemus = 60

Ülaltoodud programm võtab kasutajalt sisendi stringi (soovitatav lugemine: saada stringi sisend kasutajalt Kotlinis). Oletame, et kasutaja sisestas *. Sellisel juhul a * bhinnatakse avaldist ja väärtus määratakse muutuvale tulemusele.

Kui ükski haru tingimused on täidetud (kasutaja sisestatud midagi peale +, -* või /), elsefiliaali hinnatakse.

Ülaltoodud näites kasutasime whenseda väljendina. whenAvaldisena pole seda siiski kohustuslik kasutada . Näiteks,

 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") ) )

Programmi käivitamisel on väljund umbes selline:

 Sisestage operaator kas +, -, * või / - 12 - 5 = 7 

Siin whenpole avaldis (tagastusväärtust väärtusest whenpole määratud millelegi). Sellisel juhul elseei ole haru kohustuslik.

Vähesed võimalused

Kombineerige kaks või enam hargnemistingimust komaga. Näiteks,

 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.") ) )

Programmi käivitamisel on väljund järgmine:

 n on negatiivne täisarv, mis on suurem kui 3.

Kontrollige väärtust vahemikus. Näiteks,

 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)") ) )

Programmi käivitamisel on väljund järgmine:

 Positiivne arv vahemikus 10–100 (kaasa arvatud)

Kontrollige, kas väärtus on teatud tüüpi.

Et kontrollida, kas väärtus on käituse ajal teatud tüüpi, võime kasutada operaatorit is ja! Näiteks,

 kui (x) (on Int -> print (x + 1) on string -> print (x.length + 1) on IntArray -> print (x.sum ())) 

Kasutage haru tingimusena väljendeid. Näiteks,

 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.") ) )

Programmi käivitamisel on väljund järgmine:

Bingo! Kell on üksteist.

Huvitavad Artiklid...