使用范围的 when 表达式
本课属于 Coddy Kotlin 学习旅程的“基础知识”单元。第 33 课,共 93 课。
有时,你需要检查一个值是否落在某个范围内,而不是是否与特定值匹配。when 表达式通过将 in 关键字与范围结合使用来支持这种检查。
fun main() {
val score = 85
val grade = when (score) {
in 90..100 -> "A"
in 80..89 -> "B"
in 70..79 -> "C"
in 60..69 -> "D"
else -> "F"
}
println(grade) // 输出:B
}in 关键字会检查值是否存在于指定范围内。这里,85 在 80..89 范围内,所以等级是“B”。这比为每个条件都写 score >= 80 && score <= 89 简洁得多。
你还可以在同一个 when 表达式中将范围与特定值组合起来:
fun main() {
val age = 17
val category = when (age) {
0 -> "Newborn"
in 1..12 -> "Child"
in 13..19 -> "Teenager"
else -> "Adult"
}
println(category) // 输出:Teenager
}处理连续的数值条件时,使用范围能让代码更易读。这类情况常见于评分系统、年龄分类等场景。
挑战
简单编写一个名为 getTicketPrice 的函数,它接收 age,并根据年龄类别返回票价。
使用带范围的 when 表达式来确定合适的票价。
条件:
- 年龄
0到3:返回0(免费) - 年龄
4到12:返回10(儿童票价) - 年龄
13到17:返回15(青少年票价) - 年龄
18到64:返回25(成人票价) - 年龄
65及以上:返回12(老年票价)
参数:
age(Int):此人的年龄
返回值:以整数(Int)表示的票价
亲手试试
fun getTicketPrice(age: Int): Int {
// 在这里编写代码
}
这节课包含一个小测验。开始学习即可作答,并记录你的进度。
基础知识中的所有课
自己练习: Kotlin 在线编辑器