Sellest artiklist saate teada, kuidas Kotlinis mitmesuguste näidete abil ehitada.
Kotlin kui ehitada
when
Konstrukt 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 * b
hinnatakse avaldist ja väärtus määratakse muutuvale tulemusele.
Kui ükski haru tingimused on täidetud (kasutaja sisestatud midagi peale +
, -
* või /
), else
filiaali hinnatakse.
Ülaltoodud näites kasutasime when
seda väljendina. when
Avaldisena 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 when
pole avaldis (tagastusväärtust väärtusest when
pole määratud millelegi). Sellisel juhul else
ei 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.