Kotlinas, kai išraiška (su pavyzdžiais)

Šiame straipsnyje sužinosite, kaip statyti Kotline, pasitelkiant įvairius pavyzdžius.

Kotlinas, kai statosi

whenKotlin “ konstrukciją galima laikyti „Java“ jungiklio pareiškimo pakaitalu. Jis įvertina kodo skyrių tarp daugybės alternatyvų.

Pavyzdys: Paprasta, kai išraiška

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

Kai paleisite programą, išvestis bus maždaug tokia:

 Įveskite operatorių +, -, * arba / * rezultatas = 60

Aukščiau pateikta programa paima iš vartotojo įvesties eilutę (rekomenduojama skaityti: gaukite eilutės įvestį iš vartotojo Kotline). Tarkime, vartotojas įvedė *. Šiuo atveju išraiška a * bįvertinama ir vertė priskiriama kintamam rezultatui.

Jei nė vienas iš filialų sąlygos (vartotojas įves nieko, išskyrus +, -* arba /), elsešaka vertinama.

Ankstesniame pavyzdyje mes vartojome whenkaip išraišką. Tačiau tai nėra privaloma naudoti whenkaip išraišką. Pavyzdžiui,

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

Kai paleisite programą, išvestis bus maždaug tokia:

 Įveskite operatorių +, -, * arba / - 12 - 5 = 7 

Čia whennėra išraiška (grąžinimo vertė iš whennieko nėra priskirta). Šiuo atveju elsefilialas nėra privalomas.

Nedaug galimybių

Sujunkite dvi ar daugiau šakos sąlygų su kableliu. Pavyzdžiui,

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

Kai paleisite programą, išvestis bus:

 n yra neigiamas sveikas skaičius, didesnis nei 3.

Patikrinkite diapazono vertę. Pavyzdžiui,

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

Kai paleisite programą, išvestis bus:

 Teigiamas skaičius nuo 10 iki 100 (imtinai)

Patikrinkite, ar vertė yra tam tikro tipo.

Norėdami patikrinti, ar vykdymo metu vertė yra tam tikro tipo, galime naudoti operatorių „ir“! Pavyzdžiui,

 kai (x) (yra Int -> print (x + 1) yra eilutė -> print (x.length + 1) yra IntArray -> print (x.sum ())) 

Naudokite posakius kaip šakos sąlygą. Pavyzdžiui,

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

Kai paleisite programą, išvestis bus:

Bingo! Tai vienuolika.

Įdomios straipsniai...