0Pricing
Kotlin Academy · レッスン

ループでの範囲

範囲を使って効率よく反復します

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

範囲でループを動かす

範囲とプログレッションは、Kotlinでforループを動かす自然な方法です。

C言語風のfor(i=0; i<n; i++)はなく、代わりに範囲を反復処理します。

基本的なカウントループ

両端を含む範囲をループして、開始値から終了値までカウントします。

変数には各値が順番に代入されます。

fun main() {
    for (i in 1..5) {
        print(i.toString() + " ")
    }
    println()
}

untilを使った上限を含まないループ

0始まりでカウントする場合、untilは上限の1つ手前で停止します。

既知の回数だけループする場合の標準的な方法です。

fun main() {
    for (i in 0 until 4) {
        print(i.toString() + " ")
    }
    println()
}

インデックスでループする

indicesを使うと、コレクションの有効な位置をループできます。

これは0 until sizeの短縮形です。

fun main() {
    val items = listOf("x", "y", "z")
    for (i in items.indices) {
        println(i.toString() + " -> " + items[i])
    }
}

カウントダウンする

downToとループを組み合わせると、カウントダウンに適した逆方向のループを作成できます。

fun main() {
    for (i in 5 downTo 1) {
        print(i.toString() + " ")
    }
    println("liftoff")
}

stepで進む

stepを追加すると、1つおきの値のように、カスタムの増分で反復処理できます。

fun main() {
    for (i in 0..20 step 5) {
        print(i.toString() + " ")
    }
    println()
}

文字をループする

文字の範囲を使うと、文字や数字を直接ループできます。

fun main() {
    for (c in 'a'..'e') {
        print(c)
    }
    println()
}

値と位置のためのwithIndex

インデックスと要素の両方が必要な場合、withIndexでそれらを組み合わせられます。

ループのヘッダーで、そのペアを直接分解できます。

fun main() {
    val items = listOf("a", "b", "c")
    for ((index, value) in items.withIndex()) {
        println(index.toString() + ": " + value)
    }
}

範囲のネストしたループ

範囲を使ったループをネストすると、グリッドや表を作成できます。

2つの変数の組み合わせがすべて処理されます。

fun main() {
    for (row in 1..3) {
        for (col in 1..3) {
            print((row * col).toString() + "\t")
        }
        println()
    }
}

ループで累積する

範囲を使ったループは、累計や合計のように、結果を蓄積する処理に適しています。

fun main() {
    var sum = 0
    for (i in 1..100) {
        sum += i
    }
    println(sum)
}

まとめ

範囲を使うと、ループを簡潔で表現力豊かに書けます。

  • カウントには..とuntilを使います
  • コレクションの位置にはindicesを使います
  • 方向と刻み幅の指定にはdownToとstepを使います
  • 値と位置の組み合わせにはwithIndexを使います
fun main() {
    val data = listOf(10, 20, 30)
    for (i in data.indices) {
        println("item " + i + " = " + data[i])
    }
}

理解度チェック

ループでの範囲の使い方についての理解度を確認しましょう。

振り返り

範囲を使ったループの方法を学びました。

  • カウントには..、until、indicesを使います
  • 方向と刻み幅の指定にはdownToとstepを使います
  • インデックスと値の組み合わせにはwithIndexを使います

次は、文字の範囲とカスタム範囲型について学びます。

よくある質問

「ループでの範囲」レッスンは無料ですか?

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

「ループでの範囲」で何を学びますか?

範囲を使って効率よく反復します ブラウザで直接実行するハンズオンコードでKotlin Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

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

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

「ループでの範囲」レッスンにはどのくらい時間がかかりますか?

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

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

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

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

  1. 範囲演算子
  2. stepとdownTo
  3. ループでの範囲
  4. Charとカスタム範囲
← Kotlin Academyに戻る