循环中的范围
本课属于 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 关键字特别有用,因为你通常需要在达到某个数字之前停止。
挑战
中等从输入中读取两个整数: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 是奇数,就从小于它的第一个偶数开始
}这节课包含一个小测验。开始学习即可作答,并记录你的进度。
基础知识中的所有课
自己练习: Kotlin 在线编辑器