跳到主要内容

Kotlin for 循环

提示
  1. Kotlin for 循环的使用:Kotlin 的 for 循环用于遍历范围、数组、字符串等,通过 for (item in collection) 的语法。
  2. 遍历集合的多种方式:在 Kotlin 中,可以通过不同的方式遍历集合,例如使用 downTostep 关键字,以及通过索引遍历数组和字符串。
  3. 遍历数组和字符串示例:示例展示了如何遍历数组和字符串,包括按索引遍历和打印特定条件下的元素。

[Kotlin 中没有像 Java 和其他语言中的传统 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 循环遍历范围是可能的,因为范围提供了迭代器。要了解更多,请访问 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) // 什么也不打印

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

// 只打印具有偶数索引的数组元素
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