Lesson 13 of 100+50 XP

When Expression

Kotlin's powerful switch replacement

📚
Learn
💻
Practice
Quiz
🏆
Challenge
Complete

📚 Lý thuyết

**When** là phiên bản mạnh mẽ hơn của switch trong các ngôn ngữ khác. Nó cũng là expression! **Ưu điểm so với switch:** - Không cần break - Có thể kiểm tra nhiều giá trị - Có thể dùng với ranges, types, conditions - Là expression - trả về giá trị **Cú pháp:** ```kotlin when (value) { option1 -> result1 option2, option3 -> result2 in range -> result3 is Type -> result4 else -> defaultResult } ```

💡 Ví dụ 1/3

When cơ bản

🟣 kotlin
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
fun main() {    val day = 3     val dayName = when (day) {        1 -> "Thứ Hai"        2 -> "Thứ Ba"        3 -> "Thứ Tư"        4 -> "Thứ Năm"        5 -> "Thứ Sáu"        6, 7 -> "Cuối tuần"        else -> "Không hợp lệ"    }     println("Ngày $day là $dayName")}

💬 Mỗi nhánh không cần break, có thể gộp nhiều giá trị với dấu phẩy.

🎯 Fun Fact

When trong Kotlin thay thế cả switch và if-else chain, làm code sạch và dễ đọc hơn!

💡 Pro Tip

Khi when là expression và cover hết các trường hợp (ví dụ: enum), không cần else!