Kotlins, kad izteiksme (ar piemēriem)

Šajā rakstā jūs uzzināsit par to, kā būvēt Kotlīnā, izmantojot dažādus piemērus.

Kotlins, kad uzbūvē

whenBū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 * btiek 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 /), elsefiliāle tiek vērtēts.

Iepriekš minētajā piemērā mēs izmantojām whenkā izteicienu. Tomēr tas nav obligāti jāizmanto whenkā 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 whentas nav izteiciens (atgriešanās vērtība no whennekas netiek piešķirta). Šajā gadījumā elsefiliā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.

Interesanti raksti...