Menu
CoddyTech

逻辑运算符(第 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求值。

括号可以改变分组方式,也可以明确分组。先对左操作数求值,然后再判断是否需要对右操作数求值。

challenge icon

挑战

简单

编写一个函数 canAccessFeature,接收 isAdmin、isPremium 和 hasTrialActive,并返回用户是否可以使用高级功能。

如果用户是管理员,或者既是高级会员并且试用期仍然有效,就可以使用此功能。

使用括号明确分组:将 && 条件放在一起,然后与 || 组合。

参数:

  • isAdmin(Boolean):用户是否是管理员
  • isPremium(Boolean):用户是否订阅了高级服务
  • hasTrialActive(Boolean):用户是否处于有效的试用期

返回值:如果用户可以使用此功能,则返回 true;否则返回 false(Boolean)

提供的驱动程序会调用你的函数并打印其返回值。保留函数签名,不要添加 main 函数。

亲手试试

fun canAccessFeature(isAdmin: Boolean, isPremium: Boolean, hasTrialActive: Boolean): Boolean {
    // 在这里编写代码
}
quiz icon自我测试

这节课包含一个小测验。开始学习即可作答,并记录你的进度。

基础知识中的所有课

自己练习: Kotlin 在线编辑器