こんにちは!リンコですピヨ!この記事では自分の勉強の復習もかねて、KotlinでのRange(範囲)について詳しく解説するピヨ!
この第6章では、プログラミング言語であるKotlinのRange(範囲)について、一緒に勉強していきましょう。
この記事を読めばプログラミング未経験の方も、Kotlin入門レベルのRange(範囲)について1つ1つ理解しながら勉強できると思うので、是非最後まで読んで頂ければと思います。
※この記事で出てくる「サンプルコード」は、記述が長く画面からはみ出ている場合がありますが、横にスライドすると表示されるのでご安心ください。
KotlinのRange(範囲)とは?
Rangeとは何でしょうか?まずはRangeの基礎情報について勉強していきましょう。
Rangeは範囲を表す型
変数の型には、数値型であればDouble型やInt型など、文字型にはChar型、文字列型にはString型、真偽型にはBoolean型と、いろいろな種類が存在しています。
Rangeはこの変数の型の仲間であり、範囲を表す型になります。
「〇〇よりも○○の方が大きい」といった内容であれば「<」の不等号で表すことができますが「〇〇から〇〇まで」といった範囲を指定したい時に、このRangeという範囲を表す型を使います。
Range(範囲)は「〇〇から〇〇まで」の範囲を表したい時に使うピヨ!
範囲は「..」で表現する
範囲は「..」という2つのドットで表すことができます。
具体的に説明すると、例えば1から10の値を表す場合は「1..10」というふうに記述します。
このように2つの値の間に「..」を記述することで、範囲を表すことができます。
範囲は「..」で表すピヨ!
Rangeを使ったコードを記述してみよう
では実際に、Rangeを使ったコードを記述してみましょう。
サンプルコード
以下のサンプルコードでは、整数の範囲を変数に代入しています。また「IntRange」とありますが、こちらが整数の範囲を表す変数の型になります。
//IntRange型の変数num1に0から5の整数の範囲を代入 val num1: IntRange = 0..5 //IntRange型の変数num2に6から10の整数の範囲を代入 val num2: IntRange = 6..10 println(num1) println(num2)
出力
上記のコードを実行すると、以下のように出力されます。
0..5 6..10
こんな感じで、整数の範囲を表す変数の型「IntRange」を使うことで「0から5」や「6から10」といった整数の範囲を表すことができるようになります。
IntRangeを使うことで整数の範囲を表すことができるピヨ!
KotlinのRange(範囲)はどんな時に使う?
Rangeが範囲を表す変数型ということはわかりました。また整数の範囲を変数に代入する方法もわかりました。では、どのような時にRangeを使うのでしょうか?
とある整数が対象の範囲内に存在するかを調べる時
Rangeでは整数の範囲を変数に代入する以外にも、とある整数が対象の範囲内に存在するかを調べることもできます。どのように調べるのか勉強していきましょう。
範囲内に存在するか調べる時は「in」を使う
とある整数が対象の範囲内に存在するか調べる時は「in」というキーワードを使います。以下のサンプルコードを見てみましょう。
サンプルコード
このサンプルコードでは、変数ageの値が小学生なのか中学生なのか高校生なのかを調べています。
//変数ageに14を代入 val age = 14 //それぞれの変数に整数の範囲を代入 val num1: IntRange = 7..12 val num2: IntRange = 13..15 val num3: IntRange = 16..18 //変数ageの値がnum1、num2、num3の中にあるかどうかを調べ、その結果をそれぞれの変数answerに代入 val answer1 = age in num1 val answer2 = age in num2 val answer3 = age in num3 //println関数で結果を出力 println("${age}歳の子供は小学生 ${answer1}") println("${age}歳の子供は中学生 ${answer2}") println("${age}歳の子供は高校生 ${answer3}")
「中身を知りたい変数 in 対象の範囲」と記述することで、Rangeを上手く使うことができます。
上記だと、ageの値がnum1、num2、num3の範囲内にあるかどうかを、Boolean型としてチェックしています。Boolean型としてチェックしているので、answerにはtrueかfalseが代入されます。
出力
上記のコードを実行すると、以下のように出力されます。
14歳の子供は小学生 false 14歳の子供は中学生 true 14歳の子供は高校生 false
変数ageの値14は、変数num2の13から15の中にあるので「14歳の子供は中学生」のみが、trueという結果になりました。
「in」を使うことで、値がどの範囲にあるか調べられるピヨ!
Rangeでは整数が範囲外かどうかも調べることができる
Rangeでは、とある整数が対象の範囲内に存在するかを調べることができましたが、反対に整数が対象の範囲外にあるかどうかも調べることができます。
範囲外に存在するか調べる時は「!in」を使う
範囲内に存在するかを調べる時は「in」というキーワードを使いましたが、範囲外に存在するかを調べる時は「!in」というキーワードを使います。以下のサンプルコードでどのように使うか見ていきましょう。
サンプルコード
//変数ageに14を代入 val age = 14 //それぞれの変数に整数の範囲を代入 val num1: IntRange = 7..12 val num2: IntRange = 13..15 val num3: IntRange = 16..18 //変数ageの値がnum1、num2、num3の中にないかどうかを調べ、その結果をそれぞれの変数answerに代入 val answer1 = age !in num1 val answer2 = age !in num2 val answer3 = age !in num3 //println関数で結果を出力 println("${age}歳の子供は小学生ではない ${answer1}") println("${age}歳の子供は中学生ではない ${answer2}") println("${age}歳の子供は高校生ではない ${answer3}")
このように、値が範囲外かどうかを調べる時は「!in」を使います。さっきの「in」の部分を「!in」に変更するだけですね。
出力
上記のコードを実行すると、以下のように出力されます。
14歳の子供は小学生ではない true 14歳の子供は中学生ではない false 14歳の子供は高校生ではない true
変数ageの値14は、変数num2の13から15の間にあるので「14歳の子供は中学生ではない」のみがfalseで、他の2つの出力はtrueという結果になりました。
さっきとは反対に、値が範囲外にあるかどうかの時は「!in」を使うピヨ!
Rangeでは整数以外の範囲を表す変数型も用意されている
Rangeでは整数以外の範囲を表す変数型も用意されていて、Long型の範囲の「LongRange」と、Char型の範囲の「CharRange」の2つになります。
Long型の範囲を表すLongRange
ではLong型の範囲を調べる場合からですが、Long型の時は「LongRange」という型を使用します。
サンプルコード
Long型の範囲を調べる場合も、基本的に使い方はInt型の時と変わりません。以下のサンプルコードを見てみましょう。
//変数numに0から10000000を代入 val num: LongRange = 0..10000000L //変数answerに、変数numの中に1000が入っているかどうかの結果を代入 val answer = 1000 in num println("answer = ${answer}")
出力
answer = true
上記のサンプルコードでは、変数numの中に「1000」が入っていたので、trueと出力されました。
Char型の範囲を表すCharRange
続いてChar型の範囲を調べる場合からですが、Char型の時は「CharRange」という型を使用します。
サンプルコード
Char型の範囲を調べる場合も、基本的に使い方はInt型の時と変わりません。以下のサンプルコードを見てみましょう。
//変数msgに「あ」から「お」を代入 val msg: CharRange = 'あ'..'お' //変数answerに、変数msgの中に「か」が入っているかどうかの結果を代入 val answer = 'か' in msg println("answer = ${answer}")
出力
answer = false
上記のサンプルコードでは、変数msgの中に「か」は入っていなかったので、falseと出力されました。またCharRangeの場合は「'(シングルクォーテーション)」で値を挟むようにしましょう。
まとめ
この記事では、プログラミング言語であるKotlinのRange(範囲)について勉強していきましたが、いかがでしたでしょうか?今回の記事をまとめると以下のようになります。
- Range(範囲)は「〇〇から〇〇まで」の範囲を表したい時に使う
- 範囲は「..」で表す
- 整数の範囲を表す変数の型は「IntRange」
- 「in」を記述することで、値がどの範囲にあるか調べられる
- 値が範囲外にあるかどうか調べる時は「!in」を使う
- IntRange以外にも、LongRangeやCharRangeがある
今回勉強した「Range(範囲)」はKotlinの入門レベルの知識になるので、何回も読み直してしっかり覚えておきましょう。
次回の記事では「ifを使った条件分岐」について勉強していくピヨ!
プログラミング未経験の方や入門レベルの方、Kotlinについて詳しくなりたい方は、また一緒に勉強するピヨ!
コメント