逻辑运算符(第 3 部分)
本课属于 Coddy Kotlin 学习旅程的“基础知识”单元。第 26 课,共 93 课。
优先级决定表达式如何分组。!的优先级最高,其次是&&,然后是||。因此,a || b && c表示a || (b && c)。
val a = true
val b = false
val c = false
println(a || (b && c)) // true
println((a || b) && c) // false分组方式与求值顺序不同。||在左操作数为 true 时停止求值,&&在左操作数为 false 时停止求值。在上面的第一个表达式中,由于a已经为 true,因此不会对b && c求值。
括号可以改变分组方式,也可以明确分组。先对左操作数求值,然后再判断是否需要对右操作数求值。
挑战
简单编写一个函数 canAccessFeature,接收 isAdmin、isPremium 和 hasTrialActive,并返回用户是否可以使用高级功能。
如果用户是管理员,或者既是高级会员并且试用期仍然有效,就可以使用此功能。
使用括号明确分组:将 && 条件放在一起,然后与 || 组合。
参数:
isAdmin(Boolean):用户是否是管理员isPremium(Boolean):用户是否订阅了高级服务hasTrialActive(Boolean):用户是否处于有效的试用期
返回值:如果用户可以使用此功能,则返回 true;否则返回 false(Boolean)
提供的驱动程序会调用你的函数并打印其返回值。保留函数签名,不要添加 main 函数。
亲手试试
fun canAccessFeature(isAdmin: Boolean, isPremium: Boolean, hasTrialActive: Boolean): Boolean {
// 在这里编写代码
}
这节课包含一个小测验。开始学习即可作答,并记录你的进度。
基础知识中的所有课
自己练习: Kotlin 在线编辑器