Menu
CoddyTech

循环中的范围

本课属于 Coddy Kotlin 学习旅程的“基础知识”单元。第 51 课,共 93 课。

到目前为止,我们一直用 1..5 创建每次递增 1 的范围。Kotlin 还提供了更灵活的方式来定义循环范围。

要倒序计数,请使用 downTo:

for (i in 5 downTo 1) {
    println(i)
}
// 输出:5, 4, 3, 2, 1

要跳过一些数字,请添加 step 来控制增量:

for (i in 0..10 step 2) {
    println(i)
}
// 输出:0、2、4、6、8、10

你可以将 downTo 和 step 结合起来,按自定义的间隔倒数:

for (i in 10 downTo 1 step 3) {
    println(i)
}
// 输出:10, 7, 4, 1

如果你需要排除最后一个值,请使用 until,而不是 ..:

for (i in 1 until 5) {
    println(i)
}
// 输出:1, 2, 3, 4

使用从 0 开始的索引时,until 关键字特别有用,因为你通常需要在达到某个数字之前停止。

challenge icon

挑战

中等

从输入中读取两个整数:start 和 end。

打印从 start 到 end(包含 end)之间的所有偶数,每个数单独占一行。

使用 downTo 和 step 创建范围。如果 start 是奇数,就从小于它的第一个偶数开始。

例如,如果输入是:

10
2

输出应为:

10
8
6
4
2

如果输入是:

9
3

输出应为:

8
6
4

如果指定范围内没有偶数,就在一行中打印 No even numbers。否则,每个偶数单独占一行打印。

亲手试试

fun main() {
    // 读取输入
    val start = readLine()!!.toInt()
    val end = readLine()!!.toInt()
    
    // TODO:在下方编写你的代码
    // 使用 downTo 和 step,输出从 start 到 end 的所有偶数
    // 如果 start 是奇数,就从小于它的第一个偶数开始
    
}
quiz icon自我测试

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

基础知识中的所有课

自己练习: Kotlin 在线编辑器