Kotlin for 循环

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

在 Kotlin 中,`for` 循环用于迭代范围、数组、映射等(任何提供迭代器的东西)。

Kotlin 中 `for` 循环的语法是:

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

示例:迭代范围

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` 循环迭代范围。要了解更多信息,请访问Kotlin 迭代器


示例:迭代范围的不同方式

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..5 step 2) print(i) = ")
    for (i in 1..5 step 2) print(i)

    println()

    print("for (i in 5 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..5 step 2) print(i) = 135
for (i in 5 downTo 1 step 2) print(i) = 531

迭代数组

这是一个迭代 `String` 数组的示例。

fun main(args: Array<String>) {

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

    for (item in language)
        println(item)
}

输出

Ruby
Kotlin
Python
Java

可以通过索引迭代数组。例如:

fun main(args: Array<String>) {

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

    for (item in language.indices) {

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

输出

Ruby
Python

注意:这里,`language.indices` 返回每个数组元素的全部索引。

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


迭代字符串

fun main(args: Array<String>) {

    var text= "Kotlin"

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

输出

K
o
t
l
i
n

与数组类似,您可以通过索引迭代 `String`。例如:

fun main(args: Array<String>) {

    var text= "Kotlin"

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

输出

K
o
t
l
i
n

您将在《Kotlin 映射》一文中学习如何使用 `for` 循环迭代映射。

你觉得这篇文章有帮助吗?

我们的高级学习平台,凭借十多年的经验和数千条反馈创建。

以前所未有的方式学习和提高您的编程技能。

试用 Programiz PRO
  • 交互式课程
  • 证书
  • AI 帮助
  • 2000+ 挑战