Šiame straipsnyje sužinosite, kaip statyti Kotline, pasitelkiant įvairius pavyzdžius.
Kotlinas, kai statosi
„ when
Kotlin “ 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 when
kaip išraišką. Tačiau tai nėra privaloma naudoti when
kaip 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 when
nėra išraiška (grąžinimo vertė iš when
nieko nėra priskirta). Šiuo atveju else
filialas 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.