Kotlin when Expression (Örneklerle)

Bu yazıda, çeşitli örnekler yardımıyla Kotlin'de ne zaman inşa edildiğini öğreneceksiniz.

Oluştururken Kotlin

whenKOTLIN içinde yapı Java anahtarı Özeti için bir yedek olarak düşünülebilir. Birçok alternatif arasında bir kod bölümünü değerlendirir.

Örnek: İfade Olduğunda Basit

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

Programı çalıştırdığınızda, çıktı şöyle olacaktır:

 +, -, * veya / * sonuç = 60 operatörü girin

Yukarıdaki program kullanıcıdan bir girdi dizesi alır (Önerilen Okuma: Kotlin'deki Kullanıcıdan Dize Girdisi Al). Diyelim ki kullanıcı girdi *. Bu durumda ifade a * bdeğerlendirilir ve değer değişken sonuca atanır.

Şube koşulları hiçbiri tatmin Eğer (kullanıcı dışında bir şey girmiş +, -, *, veya /,) elseşube değerlendirilir.

Yukarıdaki örnekte whenbir ifade olarak kullandık . Ancak whenbir ifade olarak kullanılması zorunlu değildir . Örneğin,

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

Programı çalıştırdığınızda, çıktı şöyle olacaktır:

 Operatörü +, -, * veya / - 12 - 5 = 7 girin 

Burada whenbir ifade değildir (dan dönüş değeri whenhiçbir şeye atanmaz). Bu durumda elseşube zorunlu değildir.

Birkaç olasılık

İki veya daha fazla dal koşulunu virgülle birleştirin. Örneğin,

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

Programı çalıştırdığınızda, çıktı:

 n, 3'ten büyük negatif bir tamsayıdır.

Aralıktaki değeri kontrol edin. Örneğin,

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

Programı çalıştırdığınızda, çıktı:

 10 ile 100 arasında pozitif bir sayı (dahil)

Bir değerin belirli bir türde olup olmadığını kontrol edin.

Bir değerin çalışma zamanında belirli bir türde olup olmadığını kontrol etmek için is and! İs operatörünü kullanabiliriz. Örneğin,

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

İfadeleri dal koşulu olarak kullanın. Örneğin,

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

Programı çalıştırdığınızda, çıktı:

Bingo! On bir.

Ilginç makaleler...