Bu yazıda, çeşitli örnekler yardımıyla Kotlin'de ne zaman inşa edildiğini öğreneceksiniz.
Oluştururken Kotlin
when
KOTLIN 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 * b
değ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 when
bir ifade olarak kullandık . Ancak when
bir 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 when
bir ifade değildir (dan dönüş değeri when
hiç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.