
Kotlin中的for循环遍历任何提供迭代器的对象。在本文中,您将学习如何创建for循环(借助示例)。
与Java和其他语言不同,Kotlin中没有传统的for循环。
在Kotlin中,for循环用于遍历范围,数组,映射等(提供迭代器的任何对象)。
Kotlin 中for循环的语法是:
for (item in collection) {
    //循环体
}示例:遍历范围
fun main(args: Array<String>) {
    for (i in 1..5) {
        println(i)
    }
}在这里,循环遍历范围并打印单个项目。
运行该程序时,输出为:
1 2 3 4 5
如果循环的主体仅包含一个语句(如上述示例),则不必使用花括号{ }。
fun main(args: Array<String>) {
    for (i in 1..5) println(i)
}可以使用for循环遍历范围,因为range提供了一个迭代器。
示例:遍历范围的不同方法
fun main(args: Array<String>) {
    print("for (i in 1..5) print(i) = ")
    for (i in 1..5) print(i)
    println()
    print("for (i in 5..1) print(i) = ")
    for (i in 5..1) print(i)             // prints nothing
    println()
    print("for (i in 5 downTo 1) print(i) = ")
    for (i in 5 downTo 1) print(i)
    println()
    print("for (i in 1..4 step 2) print(i) = ")
    for (i in 1..5 step 2) print(i)
    println()
    print("for (i in 4 downTo 1 step 2) print(i) = ")
    for (i in 5 downTo 1 step 2) print(i)
}运行该程序时,输出为:
for (i in 1..5) print(i) = 12345 for (i in 5..1) print(i) = for (i in 5 downTo 1) print(i) = 54321 for (i in 1..4 step 2) print(i) = 135 for (i in 4 downTo 1 step 2) print(i) = 531
遍历数组
这是一个遍历String数组的示例。
fun main(args: Array<String>) {
    var language = arrayOf("Ruby", "Koltin", "Python" "Java")
    for (item in language)
        println(item)
}运行该程序时,输出为:
Ruby Koltin Python Java
可以遍历带有索引的数组。例如,
fun main(args: Array<String>) {
    var language = arrayOf("Ruby", "Koltin", "Python", "Java")
    for (item in language.indices) {
        //打印仅具有偶数索引的数组元素
        if (item%2 == 0){
            println(language[item])
        }
        
    }
}运行该程序时,输出为:
Ruby Python
遍历字符串
fun main(args: Array<String>) {
    var text= "Kotlin"
    for (letter in text) {
        println(letter)
    }
}运行该程序时,输出为:
K o t l i n
与数组类似,您可以使用索引遍历字符串。 例如,
fun main(args: Array<String>) {
    var text= "Kotlin"
    for (item in text.indices) {
        println(text[item])
    }
}运行该程序时,输出为:
K o t l i n