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) // falseCá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.
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ôngisPremium(Boolean): Người dùng có gói đăng ký cao cấp hay khônghasTrialActive(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
}
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
4Toán tử phần 1
Toán tử số họcToán tử moduloPhép gán kết hợpToán tử so sánhÔn tập: phép tính đơn giản7Nhập xuất cơ bản
Hàm PrintlnMẫu chuỗiĐầu vào ReadLineChuyển đổi kiểu dữ liệuÔn tập: Số năm đến khi nghỉ hưuÔn tập: Đúng hay sai10Hàm
Khai báo hàmTham số và đối sốGiá trị trả vềĐối số có tênGiá trị mặc địnhHàm chỉ gồm một biểu thứcÔn tập: hàm SigmaÔn tập: hàm kiểm tra hợp lệ5Toán tử, phần 2
Toán tử logic, phần 1Toán tử logic, phần 2Toán tử logic, phần 3Toán tử ba ngôi với biểu thức ifÔn tập: logic đơn giản3Tính có thể null
An toàn với null là gìKiểu có thể nullToán tử gọi an toànToán tử ElvisCơ bản về thử thách hàmKhẳng định không nullÔn tập: truy cập an toàn6Ra quyết định
Câu lệnh ifCâu lệnh if-elseIf dưới dạng biểu thứcBiểu thức whenWhen với khoảng giá trịÔn tập: máy tính đơn giản9Vòng lặp
Vòng lặp forVòng lặp whileVòng lặp do-whileBreakContinuePhạm vi trong vòng lặpVòng lặp lồng nhauÔn tập: giai thừaÔn tập: đầu vào động12Cơ bản về danh sách
List và MutableListTruy cập phần tửChỉnh sửa danh sáchPhương thức của ListPair và TripleÔn tập: danh sách sản phẩmÔn tập: danh sách đảo ngược15Theo dõi chi tiêu hằng ngày
Tổng quan dự ánThoát khỏi chương trìnhTự luyện tập: Playground Kotlin