When dengan Rentang
Termasuk bagian Dasar-Dasar dalam perjalanan Kotlin di Coddy. Pelajaran 33 dari 93.
Terkadang kamu perlu memeriksa apakah suatu nilai berada dalam rentang, bukan cocok dengan nilai tertentu. Ekspresi when mendukung hal ini dengan menggunakan kata kunci in yang dikombinasikan dengan rentang.
fun main() {
val score = 85
val grade = when (score) {
in 90..100 -> "A"
in 80..89 -> "B"
in 70..79 -> "C"
in 60..69 -> "D"
else -> "F"
}
println(grade) // Menampilkan: B
}Kata kunci in memeriksa apakah nilai berada dalam rentang yang ditentukan. Di sini, 85 berada dalam rentang 80..89, jadi nilainya adalah "B". Ini jauh lebih ringkas daripada menulis score >= 80 && score <= 89 untuk setiap kondisi.
Kamu juga bisa menggabungkan rentang dengan nilai tertentu dalam ekspresi when yang sama:
fun main() {
val age = 17
val category = when (age) {
0 -> "Newborn"
in 1..12 -> "Child"
in 13..19 -> "Teenager"
else -> "Adult"
}
println(category) // Mencetak: Teenager
}Rentang membuat kodemu lebih mudah dibaca saat menangani kondisi numerik berkelanjutan, yang umum ditemukan dalam sistem penilaian, kategori usia, dan situasi serupa.
Tantangan
MudahTulis fungsi getTicketPrice yang menerima age dan mengembalikan harga tiket berdasarkan kategori usia orang tersebut.
Gunakan ekspresi when dengan rentang untuk menentukan harga tiket yang sesuai.
Kondisi:
- Usia
0sampai3: kembalikan0(gratis) - Usia
4sampai12: kembalikan10(harga anak-anak) - Usia
13sampai17: kembalikan15(harga remaja) - Usia
18sampai64: kembalikan25(harga dewasa) - Usia
65ke atas: kembalikan12(harga lansia)
Parameter:
age(Int): Usia orang tersebut
Nilai yang dikembalikan: Harga tiket sebagai bilangan bulat (Int)
Coba sendiri
fun getTicketPrice(age: Int): Int {
// Tulis kodemu di sini
}
Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.
Semua pelajaran di Dasar-Dasar
4Operator Bagian 1
Operator AritmetikaOperator ModuloPenugasan GabunganOperator PerbandinganRingkasan: Matematika Sederhana7Dasar input dan output
Fungsi PrintlnTemplate stringInput ReadLineKonversi Tipe DataRingkasan: Tahun hingga PensiunRingkasan: Benar atau Salah10Fungsi
Deklarasikan FungsiParameter dan ArgumenNilai KembalianArgumen BernamaNilai DefaultFungsi Ekspresi TunggalUlasan: Fungsi SigmaUlasan: Fungsi Validasi5Operator Bagian 2
Operator Logika Bagian 1Operator Logika Bagian 2Operator Logika Bagian 3Ternary dengan Ekspresi ifRangkuman: Logika Sederhana8Kalkulator Pembagi Tagihan
Pesan Selamat DatangMenerima Input11FizzBuzz dengan Sentuhan Unik
Gambaran Umum GameFungsi FizzBuzz3Kemungkinan Null
Apa Itu Keamanan NullTipe yang Dapat Bernilai NullOperator Pemanggilan AmanOperator ElvisDasar Tantangan FungsiPenegasan Bukan NullRangkuman: Akses Aman6Pengambilan Keputusan
Pernyataan IfIf - ElseIf sebagai EkspresiEkspresi WhenWhen dengan RentangUlasan - Kalkulator Sederhana9Perulangan
For loopWhile loopDo-while loopBreakContinueRentang dalam loopLoop BersarangRingkasan: FaktorialRingkasan: Input DinamisLatihan sendiri: Playground Kotlin