Kotlin - For 循环
什么是循环?
想象一种情况,你需要在屏幕上打印同一句话 20 次。你可以通过使用 20 次 print 语句来实现。如果需要打印同一句话 1000 次呢?这就需要使用循环来简化编程工作。实际上,循环用于重复执行特定代码块,直到满足某个条件为止。
Kotlin 支持多种类型的循环,在本章中我们将学习 Kotlin 的 for 循环。
Kotlin For 循环
Kotlin for 循环可以遍历任何提供 iterator 的对象,即包含可计数值的对象,例如 arrays、ranges、maps 或 Kotlin 中任何其他 collection。Kotlin for 循环相当于 C# 等语言中的 foreach 循环。
Kotlin 不提供 C、C++ 和 Java 等语言中传统的 for 循环。
语法
Kotlin for 循环的语法如下:
for (item in collection) {
// 循环体
}
遍历 Range
我们将在单独的章节中学习 Kotlin Ranges,现在你需要知道 Kotlin Ranges 提供 iterator,因此可以使用 for 循环遍历 range。
以下示例中,循环遍历 range 并打印每个单独的 item。要遍历数字范围,我们将使用 range 表达式:
fun main(args: Array<String>) {
for (item in 1..5) {
println(item)
}
}
运行上述 Kotlin 程序,将生成以下输出:
1 2 3 4 5
再看一个示例,这次循环遍历另一个 range,但与上例相反,它是递减而不是递增:
fun main(args: Array<String>) {
for (item in 5 downTo 1 step 2) {
println(item)
}
}
运行上述 Kotlin 程序,将生成以下输出:
5 3 1
遍历 Array
Kotlin Array 是另一种提供 iterator 的数据类型,因此我们可以使用 for 循环以与遍历 ranges 相同的方式遍历 Kotlin array。
以下示例使用 for 循环遍历字符串 array:
fun main(args: Array<String>) {
var fruits = arrayOf("Orange", "Apple", "Mango", "Banana")
for (item in fruits) {
println(item)
}
}
运行上述 Kotlin 程序,将生成以下输出:
Orange Apple Mango Banana
再看同一示例,但这次我们使用 index 遍历 array。
fun main(args: Array<String>) {
var fruits = arrayOf("Orange", "Apple", "Mango", "Banana")
for (index in fruits.indices) {
println(fruits[index])
}
}
运行上述 Kotlin 程序,将生成以下输出:
Orange Apple Mango Banana
测验时间 (面试与考试准备)
问 1 - 关于 Kotlin for 循环,下列哪个是正确的?
A - 它用于遍历 iterator。
B - Kotlin 不提供像 C、C++ 或 Java 那样的传统 for 循环。
C - Kotlin for 循环相当于 C# 等语言中的 foreach 循环。
D - 以上全部
答案:D
解释
所有提到的语句关于 Kotlin for 循环都是正确的。
问 2 - 以下 for 循环将打印的最后一个数字是什么?
fun main(args: Array<String>) {
for (item in 6 downTo 1 step 2) {
println(item)
}
}
A - 6
B - 5
C - 3
D - 2
答案:D
解释
执行上述程序将打印 6 4 2,因此循环打印的最后一个数字是 2。