Kotlin saat Ekspresi (Dengan Contoh)

Dalam artikel ini, Anda akan belajar tentang kapan membangun di Kotlin dengan bantuan berbagai contoh.

Kotlin saat Construct

The whenmembangun di Kotlin dapat dianggap sebagai pengganti Pernyataan beralih Java. Ini mengevaluasi bagian kode di antara banyak alternatif.

Contoh: Simple when Expression

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

Saat Anda menjalankan program, hasilnya akan seperti ini:

 Masukkan operator baik +, -, * atau / * hasil = 60

Program di atas mengambil string input dari pengguna (Bacaan yang Disarankan: Dapatkan Input String dari Pengguna di Kotlin). Misalkan, pengguna masuk *. Dalam kasus ini, ekspresi a * bdievaluasi, dan nilainya ditetapkan ke hasil variabel.

Jika tidak ada kondisi cabang puas (user memasuki apa-apa kecuali +, -, *, atau /), elsecabang dievaluasi.

Dalam contoh di atas, kami digunakan whensebagai ekspresi. Namun, tidak wajib digunakan whensebagai ekspresi. 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") ) )

Saat Anda menjalankan program, hasilnya akan seperti ini:

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

Di sini, whenbukan ekspresi (nilai kembalian dari whentidak ditetapkan ke apa pun). Dalam hal ini, elsecabang tidak wajib.

Beberapa kemungkinan

Gabungkan dua atau lebih kondisi cabang 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.") ) )

Saat Anda menjalankan program, hasilnya adalah:

 n adalah bilangan bulat negatif yang lebih besar dari 3.

Periksa nilai dalam kisaran. 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)") ) )

Saat Anda menjalankan program, hasilnya adalah:

 Angka positif antara 10 dan 100 (inklusif)

Periksa apakah suatu nilai dari tipe tertentu.

Untuk memeriksa apakah suatu nilai berjenis tertentu dalam runtime, kita dapat menggunakan operator is dan! Is. Sebagai contoh,

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

Gunakan ekspresi sebagai kondisi 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.") ) )

Saat Anda menjalankan program, hasilnya adalah:

Bingo! Jam sebelas.

Artikel yang menarik...