Skip to Content
Kotlin📘 Ngôn ngữ KotlinToán tử logic (Logical Operators)

Toán tử logic (Logical Operators) trong Kotlin

1. AND operator (&&)

val age = 25 val hasLicense = true if (age >= 18 && hasLicense) { println("Can drive") } // Short-circuit: nếu điều kiện đầu false, không kiểm tra tiếp val x = false && (10 / 0 > 0) // Không lỗi vì không chạy 10/0

2. OR operator (||)

val isWeekend = true val isHoliday = false if (isWeekend || isHoliday) { println("Day off!") } // Short-circuit: nếu điều kiện đầu true, không kiểm tra tiếp val y = true || (10 / 0 > 0) // Không lỗi

3. NOT operator (!)

val isRaining = false if (!isRaining) { println("Go outside") } val isValid = true val isInvalid = !isValid // false

4. Kết hợp nhiều toán tử

val age = 25 val hasLicense = true val hasInsurance = false if (age >= 18 && hasLicense && !hasInsurance) { println("Need insurance") }

5. Thứ tự ưu tiên

// ! > && > || val result = true || false && false // true // Tương đương: true || (false && false) // Nên dùng ngoặc để rõ ràng val result2 = (true || false) && false // false

6. Truth table

// AND (&&) println(true && true) // true println(true && false) // false println(false && true) // false println(false && false) // false // OR (||) println(true || true) // true println(true || false) // true println(false || true) // true println(false || false) // false // NOT (!) println(!true) // false println(!false) // true

7. Elvis operator (không phải logic, nhưng hay dùng)

val name: String? = null val displayName = name ?: "Guest" // "Guest"

8. Ví dụ thực tế

fun canVote(age: Int, isCitizen: Boolean): Boolean { return age >= 18 && isCitizen } fun isWeekend(day: String): Boolean { return day == "Saturday" || day == "Sunday" } fun validatePassword(password: String): Boolean { val hasLength = password.length >= 8 val hasUpper = password.any { it.isUpperCase() } val hasLower = password.any { it.isLowerCase() } val hasDigit = password.any { it.isDigit() } return hasLength && hasUpper && hasLower && hasDigit }

📝 Tóm tắt

  • && - AND (cả hai phải true)
  • || - OR (một trong hai true)
  • ! - NOT (đảo ngược)
  • Short-circuit evaluation
  • Thứ tự ưu tiên: ! > && > ||
  • Dùng ngoặc () để rõ ràng
Last updated on