カテゴリ: Kotlin 更新日: 2025/11/18

Kotlinのrangeとstepの使い方を完全ガイド!初心者にもわかる繰り返し処理の基本

Kotlinのrangeとstepを使った繰り返し処理の書き方
Kotlinのrangeとstepを使った繰り返し処理の書き方

先生と生徒の会話形式で理解しよう

生徒

「Kotlinで、同じことを何回も繰り返すようなプログラムってどうやって書くんですか?」

先生

「Kotlinでは、rangestepという便利な機能を使って、数字の繰り返し処理が簡単に書けますよ。」

生徒

「そのrangeとかstepって、どんな感じで使うんですか?」

先生

「それでは、Kotlinのrangeとstepを使った繰り返し処理の基本的な使い方を、わかりやすく見ていきましょう!」

1. range(レンジ)とは?Kotlinの繰り返し処理の基本

1. range(レンジ)とは?Kotlinの繰り返し処理の基本
1. range(レンジ)とは?Kotlinの繰り返し処理の基本

Kotlin(コトリン)におけるrange(レンジ)とは、「ある範囲の数を順番に取り出す」ための機能です。たとえば、1から5までの数字を順に処理したいときに使います。

レンジを使うと、次のように書くことができます。


for (i in 1..5) {
    println(i)
}

このコードでは、「1から5までの数値を、順番にiに代入して、繰り返し処理をする」という意味になります。

1..5という記法は、1から5までの連続した数字の範囲を意味します。これがKotlinのrange(範囲)です。

2. step(ステップ)で数字の増え方を変える

2. step(ステップ)で数字の増え方を変える
2. step(ステップ)で数字の増え方を変える

rangeだけだと、数字は1つずつ増えていきます。つまり「1, 2, 3, 4, 5」と進みます。でも、2つずつ増やしたいときや、3つずつ増やしたいときもありますよね。

そんなときに使えるのが、step(ステップ)というキーワードです。

たとえば、1から10までを2つずつ進めたいときは、次のように書きます。


for (i in 1..10 step 2) {
    println(i)
}

このコードでは、iの値は「1, 3, 5, 7, 9」となります。step 2によって、「2ずつ増える」ことになります。

3. downTo(ダウントゥ)で数字を減らす繰り返し

3. downTo(ダウントゥ)で数字を減らす繰り返し
3. downTo(ダウントゥ)で数字を減らす繰り返し

Kotlinでは、数を増やすだけでなく、減らすこともできます。つまり、「10から1へ」といった繰り返しも可能です。

そのときに使うのがdownToです。


for (i in 5 downTo 1) {
    println(i)
}

このコードでは、「5, 4, 3, 2, 1」と数が減っていきます。downToは、「上から下へ」数字を進めたいときに便利です。

4. downToとstepを組み合わせる

4. downToとstepを組み合わせる
4. downToとstepを組み合わせる

downTostepを組み合わせれば、「数を減らしながら、2ずつ飛ばす」といった処理もできます。


for (i in 10 downTo 0 step 2) {
    println(i)
}

この場合は、「10, 8, 6, 4, 2, 0」と出力されます。

つまり、「10から0までを2ずつ減らしていく」という意味になります。

5. Kotlinの繰り返し処理の特徴とrange・stepの使い分け

5. Kotlinの繰り返し処理の特徴とrange・stepの使い分け
5. Kotlinの繰り返し処理の特徴とrange・stepの使い分け

Kotlinではfor文の中にinを使って、範囲やステップの指定ができるのが特徴です。

同じような繰り返しでも、「何回くり返すか」「何の数字から始めるか」「いくつずつ増やす(減らす)か」で、rangeやstepを上手に使い分けることが大切です。

  • 1..5:1から5まで(1ずつ増える)
  • 1..10 step 2:1から10まで2ずつ増える
  • 10 downTo 1:10から1まで(1ずつ減る)
  • 10 downTo 0 step 2:10から0まで2ずつ減る

6. 実行結果の例を見てみよう

6. 実行結果の例を見てみよう
6. 実行結果の例を見てみよう

それぞれの例を実行すると、画面には次のように表示されます。

以下は、for (i in 1..5)の出力です。


1
2
3
4
5

次は、for (i in 1..10 step 3)の出力です。


1
4
7
10

最後に、for (i in 5 downTo 1)の出力です。


5
4
3
2
1

まとめ

まとめ
まとめ

Kotlinのrangeとstepは、数字の繰り返し処理を直感的に書ける非常に便利な仕組みであり、プログラムの構造をすっきりと読みやすくしてくれます。今回学んだ内容をふり返ると、rangeによって「どこからどこまで」の範囲を指定し、stepで「どれくらいの間隔で数字を進めるか」を調整し、さらにdownToで逆方向の繰り返しも柔軟に扱えることがわかりました。特に、繰り返し処理が多く出てくる実践的な開発では、rangeやstepを適切に使うことでコード全体がとてもシンプルになり、処理の意図も読み取りやすくなるという大きな利点があります。

例えば、一定間隔でループしたい場合や、特定の数値の組み合わせを調べたい場面など、rangeとstepの組み合わせは非常に役立ちます。また、downToを併用することで、数字を増やすだけでなく減らす方向にも自由に繰り返し処理ができます。こうしたさまざまな表現が簡潔に書けるのはKotlinの大きな魅力のひとつです。数字の順番を扱う処理だけでなく、複雑なアルゴリズムの基礎となる繰り返しを理解するうえでも、range・step・downToの組み合わせを身につけておくことはとても大切です。

rangeは「開始から終了までの範囲」を表す基本的な仕組みですが、stepを追加すると数字の進み方が自由に制御できるようになり、さらにdownToを使うと減少方向の処理も自然に表現できるため、単純なforループよりも表現力が高く、可読性の高いコードを書くことができます。特に、一定の感覚で値を取り出したい場面や、配列やリストから必要な部分だけを取り出す場合など、stepを使った繰り返しが非常に効果的です。

また、Kotlinの繰り返し処理の書き方は、Javaや他のプログラミング言語のfor文と比べてもとても簡潔で、初心者でも理解しやすい構造になっています。「何を」「どこから」「どこまで」「どれくらいの間隔で」繰り返すかをシンプルな記述で表現できるため、処理の流れがひと目で理解できます。そのため、プログラムを書き進める上で「どう書けばわかりやすいか」を考える習慣をつけるうえでも、rangeやstepを活用した書き方は大きく役立ちます。

ここでは、実際にrange・step・downToをまとめて使用した応用例として、数字の増加と減少を組み合わせて処理するサンプルコードも紹介していきます。複数の範囲やステップを使い分ける状況でも、Kotlinの記述は非常に直感的であることを確認できるはずです。

サンプルプログラム:range・step・downToを組み合わせた応用例


fun main() {
    println("1から10までを3ずつ増やすパターン")
    for (i in 1..10 step 3) {
        println("現在の値:$i")
    }

    println("10から1までを2ずつ減らすパターン")
    for (i in 10 downTo 1 step 2) {
        println("カウントダウン:$i")
    }

    println("複数のrangeを組み合わせる例")
    for (i in 1..5) {
        for (j in 5 downTo 1 step 2) {
            println("i=$i, j=$j")
        }
    }
}

このサンプルでは、「増加方向のrange+step」「減少方向のdownTo+step」「複数rangeの組み合わせ」という三つの構造をまとめて扱っています。こうしたループ構造は、実際のアプリケーション開発でも使われることが多く、特にデータ分析やシミュレーション、ゲーム開発などの分野では欠かせない考え方となります。rangeやstepを自由に使いこなせるようになると、ループの理解が深まり、より複雑なロジックの準備が自然と整っていきます。

また、rangeを使った繰り返しは可読性の高さが大きな特長です。コードを読む側にとっても、どのような範囲で、どのように数字が変化していくのかが直感的にわかり、意図がきちんと伝わるプログラムになります。プログラミングにおいては「書く側だけでなく読む側にとってわかりやすいコードを書く」ことがとても重要であり、その観点でもrangeとstepの活用は非常に有効です。

downToによる減少方向の繰り返しは、逆順で処理したいときや、終了条件を上から下に向かって進めたい場面で便利です。数字の大きい方から小さい方へ進める処理は、ファイルの並び替えやページ番号の逆表示など、意外と多くの場面で必要になります。こうした処理が自然に書けるのもKotlinならではの魅力です。

今回の記事で学んだrange・step・downToの基本をしっかりと理解しておくことで、今後より高度な繰り返し処理やアルゴリズムに取り組む際にも役立つ基礎力が身につきます。特にfor文を使った処理では、rangeを軸に考えることで構造が整理され、プログラム全体が見通しやすくなります。こうした基本操作を確実に身につけることが、プログラミングの実力を上げる大きな一歩になるでしょう。

先生と生徒の振り返り会話

生徒

「rangeとstepって最初はただ数字を並べるだけの仕組みだと思っていましたが、こんなに柔軟なんですね!」

先生

「その気づきはとても大切です。rangeは繰り返し処理の中心で、stepを組み合わせることで実に多様なパターンが表現できますよ。」

生徒

「downToで数字が減らせるのも便利ですね。逆順の処理って意外と使いそうです!」

先生

「そのとおりです。逆方向のループは実務でもよく使われますし、処理の流れを工夫する上でも欠かせない考え方です。」

生徒

「サンプルプログラムも動かしてみたら、増えるパターンや減るパターンがすぐ理解できました!」

先生

「理解が深まっているようで素晴らしいですね。rangeとstepは今後の学習でも何度も使いますので、ぜひいろいろなパターンを試してみてください。」

カテゴリの一覧へ
新着記事
Go言語の構造体でインターフェースを実装する方法を初心者向けにやさしく解説!
Kotlinの演算子一覧と使い方!算術・比較・論理演算子の基本を解説
Go言語の文字列フォーマット!fmt.Sprintfで簡単に出力を整形する方法
Go言語のエラーと例外の違いを初心者向けに整理!わかりやすく解説
人気記事
No.1
Kotlin・Go・Swift記事の人気No1
Swiftのwhile文とrepeat while文を完全マスター!初心者にもわかる繰り返し処理の使い方と違い
No.2
Kotlin・Go・Swift記事の人気No2
Android Studioのインストール手順と初期設定を初心者向けに完全解説!
No.3
Kotlin・Go・Swift記事の人気No3
Swift入門ガイド|基本構文と書き方をマスターしよう
No.4
Kotlin・Go・Swift記事の人気No4
Kotlinの正規表現(Regex)の使い方をやさしく解説!文字列操作の基本を初心者向けに学ぼう
No.5
Kotlin・Go・Swift記事の人気No5
Kotlinのコンパニオンオブジェクトとは?初心者向けに使い方と役割をわかりやすく解説!
No.6
Kotlin・Go・Swift記事の人気No6
Kotlinで画面を作る!レイアウトXMLとビューの基本操作をやさしく解説
No.7
Kotlin・Go・Swift記事の人気No7
Kotlinのwhen式を完全ガイド!初心者でもわかるパターンマッチング的な使い方
No.8
Kotlin・Go・Swift記事の人気No8
Swiftのオプショナル型とは?初心者でもわかる使い方とアンラップの基礎