Kotlin Academy · レッスン

範囲とコレクションを反復するforループ

IntRange、downTo、step、コレクションを使ってforを記述します。

レッスン 1/413 ステップ

「範囲とコレクションを反復するforループ」はCoddyKit上の無料Kotlin Academyレッスンです。 これはレッスン1/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはKotlin Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Kotlin Academyコースには全4レッスンが含まれています。

Kotlinのforループ

Kotlinのforループは、イテレータを提供するあらゆるものを反復処理します。範囲、配列、リスト、マップ、セット、さらには文字列も対象です。

範囲に対するforループ

..を使って、両端を含む整数範囲を作成します。ループは開始値から終了値まで、両方を含めて実行されます。

fun main() {
    for (i in 1..5) {
        println(i)
    }
    // 1, 2, 3, 4, 5
}

untilによる範囲(上限値を含まない)

untilは上限値を含まない半開区間の範囲を作成します。インデックスによるループに便利です。

fun main() {
    for (i in 0 until 4) {
        println("Index: $i")
    }
    // 0, 1, 2, 3
}

downToでカウントダウン

downToは開始値から終了値まで、両方を含めて逆順に反復処理します。

fun main() {
    for (i in 10 downTo 1) {
        print("$i ")
    }
    println() // 10 9 8 7 6 5 4 3 2 1
}

stepで値を飛ばす

任意の範囲にstepを組み合わせると、反復ごとの増分を大きくできます。

fun main() {
    for (i in 0..20 step 5) {
        print("$i ")
    }
    println() // 0 5 10 15 20
}

リストの反復処理

forループはコレクションとシームレスに連携するため、インデックスを使わずに要素を直接反復処理できます。

fun main() {
    val fruits = listOf("apple", "banana", "cherry")
    for (fruit in fruits) {
        println(fruit)
    }
}

インデックスによるリストの反復処理

indicesを使うと位置を取得でき、withIndex()を使うとインデックスと値を同時に取得できます。

fun main() {
    val items = listOf("a", "b", "c")
    for (i in items.indices) {
        println("$i: ${items[i]}")
    }
    for ((idx, v) in items.withIndex()) {
        println("idx=$idx v=$v")
    }
}

マップの反復処理

ループのヘッダーで各マップエントリを(key, value)のペアに直接分解できます。

fun main() {
    val scores = mapOf("Alice" to 92, "Bob" to 78)
    for ((name, score) in scores) {
        println("$name: $score")
    }
}

文字列の反復処理

文字列は反復可能です。各文字がループを順に通過します。

fun main() {
    for (c in "Kotlin") {
        print("$c ")
    }
    println() // K o t l i n
}

ネストしたforループ

ループをネストして、グリッドや行列を走査できます。複数の変数と内側の範囲を使います。

fun main() {
    for (row in 1..3) {
        for (col in 1..3) {
            print("($row,$col) ")
        }
        println()
    }
}

文字の範囲

文字の範囲も使えます。アルファベットを順に処理するのに最適です。

fun main() {
    for (c in 'A'..'E') {
        print("$c ")
    }
    println() // A B C D E
}

クイックチェック

上限値を含まない範囲の形式はどれですか。

まとめ

範囲(..、until、downTo、step)や、任意の反復可能なもの(リスト、マップ、文字列)に対してfor (x in ...)を使います。マップのエントリは(k, v)に分解し、インデックスと要素の組み合わせにはwithIndex()を使います。

無料で開始

AI チューターと学ぶ Kotlin — 無料

ブラウザでリアルコードを書いて実行し、24/7 の AI チューターから瞬時にサポートを受け、ウェブまたはアプリで続きから学習できます。

コース
51
レッスン
203

よくある質問

「範囲とコレクションを反復するforループ」レッスンは無料ですか?

はい。「範囲とコレクションを反復するforループ」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Kotlin Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Kotlin Academyコースには全4レッスンが含まれています。

「範囲とコレクションを反復するforループ」で何を学びますか?

IntRange、downTo、step、コレクションを使ってforを記述します。 ブラウザで直接実行するハンズオンコードでKotlin Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

Kotlin Academyを始めるのに経験は必要ですか?

事前経験は必要ありません。CoddyKitのKotlin Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン1/4です。

「範囲とコレクションを反復するforループ」レッスンにはどのくらい時間がかかりますか?

ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。

このKotlin Academyレッスンでコードを書いて実行できますか?

はい。すべてのKotlin Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. 範囲とコレクションを反復するforループ
  2. whileとdo-while:使い分け
  3. forEach、repeat、forEachIndexed
  4. break、continue、ラベル付きreturn
← Kotlin Academyに戻る