When Expression
When Expression digunakan untuk melakukan percabangan di Kotlin selain if. When expression sangat sederhana dibandingkan if. Biasanya when expression digunakan untuk melakukan pengecekan ke kondisi dalam satu variable. When setara dengan switch pada bahasa pemograman lain.
1️⃣ when Expression
val nilai = "A"
when (nilai) {
"A" -> { println("Mantap") }
"B" -> { println("Bagus") }
"C" -> { println("Cukup") }
"D" -> { println("Kurang") }
else -> {
println("Anda Tidak Lulus")
}
}
2️⃣ when Expression Multiple Option
val nilai = "A"
when (nilai) {
"A", "B", "C" -> { println("Lulus") }
else -> { println("Tidak Lulus") }
}
3️⃣ when Expression In
val nilaiAkhir = 'D'
val nilaiLulus = arrayOf('A', 'B', 'C')
when(nilaiAkhir) {
in nilaiLulus -> println("Lulus")
!in nilaiLulus -> println("Tidak Lulus")
}
4️⃣ when Expression Is
When is digunakan untuk meng-verifikasi type data:
val name = 3
when (name) {
is String -> println("Type Datanya STRING")
!is String -> println("Type Datanya bukan STRING")
}
5️⃣ when Sebagai Pengganti If Else
Selain pengecekan terhadap variable, when juga dapat digunakan sebagai pengganti if else. Untuk mengganti if else dengan when, kita tidak perlu menggunakan variable dalam (tanda kurung) when:
val examValue = 30
when {
examValue > 50 -> println("Lulus")
examValue < 50 -> println("Tidak Lulus")
else -> println("Nilai tidak valid")
}