Dalam artikel ini, anda akan belajar tentang kapan membina di Kotlin dengan bantuan pelbagai contoh.
Kotlin ketika Konstruk
Yang when
membina 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 * b
dinilai, dan nilainya diberikan kepada hasil yang berubah-ubah.
Jika tiada syarat cawangan berpuas hati (pengguna memasukkan apa-apa kecuali +
, -
, *, atau /
), else
cawangan dinilai.
Dalam contoh di atas, kami digunakan when
sebagai ungkapan. Walau bagaimanapun, tidak wajib digunakan when
sebagai 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, when
bukan ungkapan (nilai kembali dari when
tidak diberikan kepada apa-apa). Dalam kes ini, else
cawangan 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.