※本サイトで紹介している商品・サービス等の外部リンクには、アフィリエイト広告が含まれる場合があります。

6-7. 範囲 range

2023年8月9日

概要

Kotlin で範囲を扱うには、range オブジェクトを利用します。開始値と終了値を含む値の範囲を表すデータ型です。 数値、 文字、 その他の比較可能な型に対して Range を作成できます。Range は、for ループでの反復処理や、値が範囲内にあるかどうかのチェックなどに便利です。

範囲の種類

Kotlin には、いくつかの種類の Range があります。

  • IntRange: 整数の範囲を表します。
  • LongRange: 長整数の範囲を表します。
  • CharRange: 文字の範囲を表します。
  • ClosedRange: 任意の比較可能な型 T の範囲を表す汎用的なインターフェースです。

範囲指定の例

「..」

2つの値を .. でつなげて記載します。

1..10  // 1から10までの整数の範囲
'a'..'z'  // a から z までの小文字の範囲
'A'..'Z'   // A から Z までの大文字の範囲

rangeTo() 関数

rangeTo() 関数を使った例です。

1.rangeTo(10)  // 1から10までの整数の範囲

1..10 と 1.range(10) は同じ範囲になります。

downTo

downTo で、逆順での範囲を指定できます。

1 downTo 10  // 10から1までの整数の範囲 (10, 9, 8, 7, 6, 5, 4, 3, 2, 1)

step

step を使うことで 間を飛ばした範囲を指定できます。

1..10 step 2  // 1から10までの整数で2つ飛ばしにした範囲 (1, 3, 5, 7, 9)

until

.. を使うと .. の右の終値を含んだ範囲となりますが、until を使うと until で指定した右の値を含まない範囲となります。

1 until 10  // 1から9 までの範囲 (1, 2, 3, 4, 5, 6, 7, 8, 9)

in : 範囲内に含まれているかどうか

in を使うことで、範囲に含まれているかどうかを判定できます。for ループとともに使うことが多いです。

例)

fun main() {
    for (a in 1..5) {
        println(a)
    }
}

出力

1
2
3
4
5

Kotlin Playground で実行

否定形は !in となります。

公式サイトの情報

https://kotlinlang.org/docs/ranges.html