范围运算符
.. 与 until
范围运算符 是 CoddyKit 上的免费 Kotlin Academy 课时。 这是第 1 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 Kotlin Academy 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 Kotlin Academy 课程共包含 4 节课。
什么是范围
范围表示起点和终点之间的一系列值。
Kotlin 通过 .. 和 until 运算符,让范围成为一等概念。
.. 运算符
.. 运算符会构造一个包含边界的范围。两个端点都属于该范围。
1..5 包含 1、2、3、4 和 5。
fun main() {
val range = 1..5
println(range.toList())
}检查成员关系
使用 in 检查某个值是否处于范围内。
与进行两次比较相比,这种写法更加清晰。
fun main() {
val x = 7
println(x in 1..10)
println(x in 1..5)
}否定成员检查
!in 用于检查某个值是否处于范围之外。
与否定整个表达式相比,这种写法读起来更加自然。
fun main() {
val score = 105
if (score !in 0..100) {
println("out of range")
}
}排除上限的运算符
until 会构造一个不包含上限的范围。
1 until 5 包含 1、2、3 和 4。这非常适合从零开始的索引。
fun main() {
val range = 1 until 5
println(range.toList())
}包含边界与排除边界
主要区别如下:
0..n包含n0 until n会在n - 1处结束
请根据是否应包含终点来选择。
fun main() {
println((0..3).toList())
println((0 until 3).toList())
}索引范围
until 与列表索引完全匹配:大小为 n 的列表,其索引范围是 0 until n。
这可以避免索引偏移一位的错误。
fun main() {
val items = listOf("a", "b", "c")
for (i in 0 until items.size) {
println(i.toString() + ": " + items[i])
}
}字符范围
范围并不局限于数字。字符也可以根据排列顺序构成范围。
'a'..'e' 覆盖 a、b、c、d 和 e。
fun main() {
println('a' in 'a'..'z')
println('5' in '0'..'9')
}作为值的范围
范围是一个对象,您可以将它存储在变量中并重复使用。
这对于验证逻辑非常方便。
fun main() {
val validAge = 0..120
println(25 in validAge)
println(150 in validAge)
}条件表达式中的范围
范围与 when 结合 in 使用时非常简洁。
这种写法可以清楚地表达数值区间。
fun grade(score: Int): Char = when (score) {
in 90..100 -> 'A'
in 80..89 -> 'B'
in 70..79 -> 'C'
else -> 'F'
}
fun main() {
println(grade(95))
println(grade(72))
}综合运用
范围运算符可以构造序列并检查成员关系:
..包含两个端点until不包含上限in/!in检查成员关系- 适用于数字和字符
fun main() {
val c = 'k'
println(c in 'a'..'z')
val n = 50
println(n in 1 until 100)
}快速检查
请检验您对范围运算符的理解。
回顾
您已经学习了范围运算符:
..创建包含边界的范围until不包含上限in和!in检查成员关系- 范围适用于数字和字符
接下来,您将使用 step 和 downTo 控制方向与步长。
常见问题解答
「范围运算符」课时是免费的吗?
是的 — 「范围运算符」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 Kotlin Academy 课程的其余内容,请升级到 CoddyKit PRO。 Kotlin Academy 课程共包含 4 节课。
「范围运算符」这节课中我会学到什么?
.. 与 until 你通过在浏览器中直接运行的动手代码来练习 Kotlin Academy,全天候 AI 导师会在你学习这节课的过程中回答你的问题。
学习 Kotlin Academy 需要有经验吗?
无需任何先前经验。CoddyKit 上的 Kotlin Academy 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 1 节课,共 4 节。
「范围运算符」课时需要多长时间?
大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。
我能在这节 Kotlin Academy 课中编写并运行代码吗?
能。每节 Kotlin Academy 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。