KOTLIN BASICS · LESSON 03

判断

让程序根据条件选择。使用 if 和 when 表达条件分支,处理成绩评级与会员等级。

预计 7 分钟可在 Playground 练习

先用人话理解

判断结构就像路口的指示牌:条件成立走一条路,不成立走另一条路。Kotlin 的 `if` 可以作为表达式产生结果;`when` 适合把多个分支集中写清楚。

记住这一点
`if` 条件从上到下判断,命中后就执行对应分支。`when` 把一个值与多个选项匹配,`else` 可以处理其余情况。这里的折扣只是教学示例,实际业务还要明确金额、舍入和规则。

看一段代码

先看整体,再留意每一行的中文注释。可以复制到 Kotlin Playground 亲自运行。

Kotlin · 1.9+
fun main() {
    val score = 86
    val grade = if (score >= 90) { // 分数达到 90
        "优秀"
    } else if (score >= 80) {     // 否则再检查是否达到 80
        "良好"
    } else if (score >= 60) {     // 再检查是否及格
        "及格"
    } else {
        "需要继续努力"
    }
    println("成绩等级:$grade")

    val member = "黄金"
    val discount = when (member) { // 按会员等级选择折扣
        "白银" -> 0.95
        "黄金" -> 0.90
        "铂金" -> 0.85
        else -> 1.0                // 其他等级不打折
    }
    println("折扣系数:$discount")
}

轮到你动手

抄下来,改一改

把成绩改成 72,观察等级变化;再给 `when` 添加一个“钻石”会员分支。

小提示:先让原代码成功运行,再一次只改一个地方。

三道小测

先自己选答案,再展开核对。答案不会自动揭晓。

1. 多个条件需要依次检查,常见结构是什么?

2. when 中的 else 通常做什么?

3. 下面哪种写法可以把判断结果赋给变量?

深入阅读

官方控制流文档进一步介绍 if、when 和条件表达式。

https://kotlinlang.org/docs/control-flow.html ↗