Kotlin ketika Ungkapan (Dengan Contoh)

Dalam artikel ini, anda akan belajar tentang kapan membina di Kotlin dengan bantuan pelbagai contoh.

Kotlin ketika Konstruk

Yang whenmembina dalam Kotlin boleh dianggap sebagai pengganti untuk Java Penyata suis. Ia menilai bahagian kod di antara banyak alternatif.

Contoh: Ringkas ketika Ungkapan

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

Semasa anda menjalankan program, output akan menjadi seperti:

 Masukkan operator sama ada hasil +, -, * atau / * = 60

Program di atas mengambil rentetan input dari pengguna (Bacaan yang Disarankan: Dapatkan Input Rentetan dari Pengguna di Kotlin). Katakan, pengguna masuk *. Dalam kes ini, ungkapan a * bdinilai, dan nilainya diberikan kepada hasil yang berubah-ubah.

Jika tiada syarat cawangan berpuas hati (pengguna memasukkan apa-apa kecuali +, -, *, atau /), elsecawangan dinilai.

Dalam contoh di atas, kami digunakan whensebagai ungkapan. Walau bagaimanapun, tidak wajib digunakan whensebagai ungkapan. Sebagai contoh,

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

Semasa anda menjalankan program, output akan menjadi seperti:

 Masukkan operator sama ada +, -, * atau / - 12 - 5 = 7 

Di sini, whenbukan ungkapan (nilai kembali dari whentidak diberikan kepada apa-apa). Dalam kes ini, elsecawangan tidak wajib.

Sedikit kemungkinan

Gabungkan dua atau lebih keadaan cawangan dengan koma. Sebagai contoh,

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

Semasa anda menjalankan program, outputnya adalah:

 n adalah integer negatif yang lebih besar daripada 3.

Periksa nilai dalam julat. Sebagai contoh,

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

Semasa anda menjalankan program, outputnya adalah:

 Bilangan positif antara 10 dan 100 (termasuk)

Periksa sama ada nilai adalah jenis tertentu.

Untuk memeriksa sama ada nilai dari jenis tertentu dalam jangka masa, kita dapat menggunakan adalah dan! Adalah operator. Sebagai contoh,

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

Gunakan ungkapan sebagai keadaan cabang. Sebagai contoh,

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

Semasa anda menjalankan program, outputnya adalah:

Bingo! Ia sebelas.

Artikel menarik...