编辑这个页面须要登录或更高权限!

Kotlin for 循环

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