📜  Kotlin for Loop

📅  最后修改于: 2020-10-05 14:45:48             🧑  作者: Mango

Kotlin中的for循环会迭代提供迭代器的所有内容。在本文中,您将学习创建for循环(借助示例)。

与Java和其他语言不同,Kotlin中没有传统的for循环。

在Kotlin中, for循环用于遍历范围,数组,映射等(提供迭代器的所有对象)。

Kotlin中for循环的语法为:

for (item in collection) {
    // body of loop
}

示例:遍历范围

fun main(args: Array) {

    for (i in 1..5) {
        println(i)
    }
}

在这里,循环遍历范围并打印单个项目。

运行该程序时,输出为:

1
2
3
4
5

如果循环的主体仅包含一个语句(如上述示例),则不必使用花括号{ }

fun main(args: Array) {
    for (i in 1..5) println(i)
}

可以使用for循环遍历一个范围for因为range提供了一个迭代器。要了解更多信息,请访问Kotlin迭代器


示例:遍历范围的不同方法

fun main(args: Array) {

    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) {

    var language = arrayOf("Ruby", "Koltin", "Python" "Java")

    for (item in language)
        println(item)
}

运行该程序时,输出为:

Ruby
Koltin
Python
Java

可以遍历带有索引的数组。例如,

fun main(args: Array) {

    var language = arrayOf("Ruby", "Koltin", "Python", "Java")

    for (item in language.indices) {

        // printing array elements having even index only
        if (item%2 == 0)
            println(language[item])
    }
}

运行该程序时,输出为:

Ruby
Python

如果您想了解有关数组的更多信息,请访问Kotlin arrays


遍历字符串
fun main(args: Array) {

    var text= "Kotlin"

    for (letter in text) {
        println(letter)
    }
}

运行该程序时,输出为:

K
o
t
l
i
n

与数组类似,您可以遍历带有索引的String 。例如,

fun main(args: Array) {

    var text= "Kotlin"

    for (item in text.indices) {
        println(text[item])
    }
}

运行该程序时,输出为:

K
o
t
l
i
n

您将在Kotin地图文章中学习使用for循环遍历地图