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)             // 何も印刷しません
    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)
}

プログラムを実行するとき、出力は以下のようになります:

Ruby
Koltin
Python
Java

配列のインデックスを持つ配列を遍历できます。例えば、

fun main(args: Array<String>) {
    var language = arrayOf("Ruby", "Koltin", "Python", "Java")
    for (item in language.indices) {
        //印刷するのは、偶数インデックスを持つ配列の要素のみです
        if (item2 == 0){
            println(language[item])
        }
        
    }
}

プログラムを実行するとき、出力は以下のようになります:

Ruby
Python

文字列の巡回

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