6-7. 範囲 range
Contents
概要
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 となります。