English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

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

이 프로그램을 실행할 때, 출력은 다음과 같습니다:

루비
Koltin
파이썬
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])
        {}
        
    {}
{}

이 프로그램을 실행할 때, 출력은 다음과 같습니다:

루비
파이썬

문자열 순회

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