Kotlin pri izražanju (z primeri)

V tem članku boste izvedeli, kako graditi v Kotlinu s pomočjo različnih primerov.

Kotlin ko konstruira

whenKonstrukt v KOTLIN si lahko predstavljamo kot nadomestilo za Java stikala izjave. Ocenjuje del kode med številnimi možnostmi.

Primer: Preprosto pri izražanju

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

Ko zaženete program, bo rezultat približno tak:

 Vnesite operator +, -, * ali / * rezultat = 60

Zgornji program od uporabnika vzame vhodni niz (Priporočeno branje: Pridobite niz vnosa od uporabnika v Kotlinu). Recimo, da je vstopil uporabnik *. V tem primeru se izraz a * bizračuna in vrednost se dodeli spremenljivki rezultat.

Če nobeden od pogojev panoge so zadovoljni (uporabnik vnese ničesar, razen +, -, *, ali pa /), elsese ocenjuje podružnica.

V zgornjem primeru smo uporabili whenkot izraz. Vendar ni obvezno uporabljati whenkot izraz. Na primer

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

Ko zaženete program, bo rezultat približno tak:

 Vnesite operator bodisi +, -, * ali / - 12 - 5 = 7 

Tukaj whenni izraz (vrnjena vrednost iz whenni nič dodeljena). V tem primeru elsepodružnica ni obvezna.

Nekaj ​​možnosti

Združite dva ali več pogojev vej z vejico. Na primer

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

Ko zaženete program, bo rezultat:

 n je negativno celo število, večje od 3.

Preverite vrednost v območju. Na primer

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

Ko zaženete program, bo rezultat:

 Pozitivno število med 10 in 100 (vključno)

Preverite, ali je vrednost določene vrste.

Če želite preveriti, ali je vrednost določene vrste v času izvajanja, lahko uporabimo operator in is! Na primer

 ko je (x) (je Int -> print (x + 1) String -> print (x.length + 1) je IntArray -> print (x.sum ())) 

Uporabite izraze kot pogoj veje. Na primer

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

Ko zaženete program, bo rezultat:

Bingo! Enajst je.

Zanimive Članki...