原文: https://www.programiz.com/kotlin-programming/for-loop

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

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

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

Kotlin 中for循环的语法为:

  1. for (item in collection) {
  2. // body of loop
  3. }

示例:遍历范围

  1. fun main(args: Array<String>) {
  2. for (i in 1..5) {
  3. println(i)
  4. }
  5. }

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

运行该程序时,输出为:

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5

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

  1. fun main(args: Array<String>) {
  2. for (i in 1..5) println(i)
  3. }

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


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

  1. fun main(args: Array<String>) {
  2. print("for (i in 1..5) print(i) = ")
  3. for (i in 1..5) print(i)
  4. println()
  5. print("for (i in 5..1) print(i) = ")
  6. for (i in 5..1) print(i) // prints nothing
  7. println()
  8. print("for (i in 5 downTo 1) print(i) = ")
  9. for (i in 5 downTo 1) print(i)
  10. println()
  11. print("for (i in 1..4 step 2) print(i) = ")
  12. for (i in 1..5 step 2) print(i)
  13. println()
  14. print("for (i in 4 downTo 1 step 2) print(i) = ")
  15. for (i in 5 downTo 1 step 2) print(i)
  16. }

运行该程序时,输出为:

  1. for (i in 1..5) print(i) = 12345
  2. for (i in 5..1) print(i) =
  3. for (i in 5 downTo 1) print(i) = 54321
  4. for (i in 1..4 step 2) print(i) = 135
  5. for (i in 4 downTo 1 step 2) print(i) = 531

遍历数组

这是一个遍历String数组的示例。

  1. fun main(args: Array<String>) {
  2. var language = arrayOf("Ruby", "Koltin", "Python" "Java")
  3. for (item in language)
  4. println(item)
  5. }

运行该程序时,输出为:

  1. Ruby
  2. Koltin
  3. Python
  4. Java

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

  1. fun main(args: Array<String>) {
  2. var language = arrayOf("Ruby", "Koltin", "Python", "Java")
  3. for (item in language.indices) {
  4. // printing array elements having even index only
  5. if (item%2 == 0) println(language[item])
  6. }
  7. }

运行该程序时,输出为:

  1. Ruby
  2. Python

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


遍历字符串

  1. fun main(args: Array<String>) {
  2. var text= "Kotlin"
  3. for (letter in text) {
  4. println(letter)
  5. }
  6. }

运行该程序时,输出为:

  1. K
  2. o
  3. t
  4. l
  5. i
  6. n

与数组类似,您可以使用索引遍历String。 例如,

  1. fun main(args: Array<String>) {
  2. var text= "Kotlin"
  3. for (item in text.indices) {
  4. println(text[item])
  5. }
  6. }

运行该程序时,输出为:

  1. K
  2. o
  3. t
  4. l
  5. i
  6. n

Kotin 映射文章中,您将学习使用for循环遍历映射。