Šajā rakstā jūs uzzināsit par to, kā būvēt Kotlīnā, izmantojot dažādus piemērus.
Kotlins, kad uzbūvē
when
Būvēt Kotlin var uzskatīt par aizstājēju Java slēdža paziņojums. Tajā tiek vērtēta koda sadaļa starp daudzām alternatīvām.
Piemērs: Vienkārši, kad izteiksme
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") )
Palaidot programmu, izeja būs šāda:
Ievadiet operatoru +, -, * vai / * rezultāts = 60
Iepriekš minētā programma no lietotāja paņem ievades virkni (ieteicams: lasiet virknes ievadi no lietotāja Kotlinā). Pieņemsim, ka lietotājs ievadīja *
. Šajā gadījumā izteiksme a * b
tiek novērtēta un vērtība tiek piešķirta mainīgajam rezultātam.
Ja neviens no nozaru nosacījumiem apmierināti (lietotājs ievadījis visu, izņemot +
, -
* vai /
), else
filiāle tiek vērtēts.
Iepriekš minētajā piemērā mēs izmantojām when
kā izteicienu. Tomēr tas nav obligāti jāizmanto when
kā izteiciens. Piemēram,
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") ) )
Palaidot programmu, izeja būs šāda:
Ievadiet operatoru +, -, * vai / / 12 - 5 = 7
Šeit when
tas nav izteiciens (atgriešanās vērtība no when
nekas netiek piešķirta). Šajā gadījumā else
filiāle nav obligāta.
Dažas iespējas
Apvienojiet divus vai vairākus atzarojuma nosacījumus ar komatu. Piemēram,
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.") ) )
Palaidot programmu, izeja būs:
n ir negatīvs vesels skaitlis, kas lielāks par 3.
Pārbaudiet vērtību diapazonā. Piemēram,
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)") ) )
Palaidot programmu, izeja būs:
Pozitīvs skaitlis no 10 līdz 100 (ieskaitot)
Pārbaudiet, vai vērtība ir noteikta veida.
Lai pārbaudītu, vai vērtība izpildes laikā ir noteikta veida, mēs varam izmantot operatoru ir un! Piemēram,
kad (x) (ir Int -> print (x + 1) ir virkne -> print (x.length + 1) ir IntArray -> print (x.sum ()))
Izmantojiet izteicienus kā filiāles nosacījumu. Piemēram,
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.") ) )
Palaidot programmu, izeja būs:
Bingo! Ir vienpadsmit.