Menu
CoddyTech

Toán tử logic, phần 3

Thuộc phần Kiến thức nền tảng trong hành trình Kotlin của Coddy. Bài học 26 trên 93.

Độ ưu tiên quyết định cách nhóm một biểu thức. ! có độ ưu tiên cao nhất, tiếp theo là &&, rồi đến ||. Vì vậy, a || b && c có nghĩa là a || (b && c).

val a = true
val b = false
val c = false
println(a || (b && c)) // true
println((a || b) && c) // false

Cách nhóm biểu thức khác với thứ tự đánh giá. || dừng khi toán hạng bên trái là true, còn && dừng khi toán hạng bên trái là false. Trong biểu thức đầu tiên ở trên, b && c không bao giờ được đánh giá vì a đã là true.

Dấu ngoặc đơn có thể thay đổi cách nhóm biểu thức hoặc làm rõ cách nhóm. Hãy đánh giá toán hạng bên trái trước, rồi xác định xem có cần toán hạng bên phải hay không.

challenge icon

Thử thách

Dễ

Viết một hàm canAccessFeature nhận isAdmin, isPremium và hasTrialActive, rồi trả về liệu người dùng có thể truy cập tính năng cao cấp hay không.

Người dùng có thể truy cập tính năng nếu họ là quản trị viên, hoặc nếu họ vừa là thành viên cao cấp vừa đang trong thời gian dùng thử.

Dùng dấu ngoặc đơn để làm rõ cách nhóm: điều kiện && được nhóm lại với nhau, rồi kết hợp với ||.

Tham số:

  • isAdmin (Boolean): Người dùng có phải là quản trị viên hay không
  • isPremium (Boolean): Người dùng có gói đăng ký cao cấp hay không
  • hasTrialActive (Boolean): Người dùng có thời gian dùng thử đang hoạt động hay không

Giá trị trả về: true nếu người dùng có thể truy cập tính năng, ngược lại là false (Boolean)

Đoạn driver được cung cấp sẽ gọi hàm của bạn và in ra giá trị hàm trả về. Giữ nguyên chữ ký hàm và không thêm hàm main.

Tự làm thử

fun canAccessFeature(isAdmin: Boolean, isPremium: Boolean, hasTrialActive: Boolean): Boolean {
    // Viết code ở đây
}
quiz iconTự kiểm tra

Bài học này có một bài trắc nghiệm ngắn. Bắt đầu bài học để trả lời và theo dõi tiến độ.

Tất cả bài học trong Kiến thức nền tảng

Tự luyện tập: Playground Kotlin