こんにちは!リンコですピヨ!この記事では自分の勉強の復習もかねて、Kotlinでのforを使った繰り返し処理やstepとdownToについて解説するピヨ!
この第9章では、プログラミング言語であるKotlinのforを使った繰り返し処理やstepとdownToについて、一緒に勉強していきましょう。
この記事を読めばプログラミング未経験の方も、Kotlin入門レベルのforを使った繰り返し処理やstepとdownToについて1つ1つ理解しながら勉強できると思うので、是非最後まで読んで頂ければと思います。
※この記事で出てくる「サンプルコード」は、記述が長く画面からはみ出ている場合がありますが、横にスライドすると表示されるのでご安心ください。
【Kotlin】forとは?
そもそも「for」とは、どういった時に使う処理なんでしょうか?forの使い方を勉強する前に、forがどういった処理を行うものなのかを理解していきましょう。
どんな時に使う?
forは、同じような処理を繰り返し実行したい時に使うと便利なものになります。
同じような処理を繰り返し実行するために、同じようなコードを何行も記述するのはめんどくさいですし、非効率ですよね。
そのような時にforを使うことで、同じような処理を実行する時に簡潔にコードを記述して実行することができます。
forは同じような処理を繰り返し実行したい時に使うピヨ!
forを使わない場合
同じような処理を繰り返し実行する時に、forを使わないとどのようなコードになるのか一度見てみましょう。
サンプルコード
以下のサンプルコードは、掛け算の5の段を表示するプログラムですが、繰り返し処理を1行1行記述している非効率なコードを表しています。
val num = 5 println("${num}かける1は、${num*1}です。") println("${num}かける2は、${num*2}です。") println("${num}かける3は、${num*3}です。") println("${num}かける4は、${num*4}です。") println("${num}かける5は、${num*5}です。") println("${num}かける6は、${num*6}です。") println("${num}かける7は、${num*7}です。") println("${num}かける8は、${num*8}です。") println("${num}かける9は、${num*9}です。") println("${num}かける10は、${num*10}です。")
出力
サンプルコードを実行すると、以下のように出力されます。
5かける1は、5です。 5かける2は、10です。 5かける3は、15です。 5かける4は、20です。 5かける5は、25です。 5かける6は、30です。 5かける7は、35です。 5かける8は、40です。 5かける9は、45です。 5かける10は、50です。
エラーも出ずに問題なく表示されましたが、なんだか長ったらしくて非効率なコードって感じがしますよね。
同じようなコードを複数行記述するのは非効率すぎるピヨ!forを使って簡潔に記述するピヨ!
【Kotlin】forの使い方
では、上記のコードみたいに非効率なコードにならないよう、繰り返し処理を簡潔に記述できるforの使い方を勉強していきましょう。
forの書式
forを使う場合の書式は以下のようになります。
for(変数名 in Range) { 繰り返し処理文を書く }
条件の箇所にRangeを使う
上記の書式を見てわかるように、forではRangeを使います。
forの右側の()内の条件でRangeを使うことで、変数名がRangeの範囲の全ての値になるまで繰り返し実行するという処理になります。
あとは一文記述するだけでOK
あとは{}内に繰り返し処理したい文を記述するだけでOKです。
ちなみにこのような、forなどを使って簡潔に繰り返し処理を行うことを、ループ処理と言います。
forを使ったコードを記述してみよう
forの書式がわかったところで、実際にforを使ったコードを記述してみましょう。
サンプルコード
以下のサンプルコードでは、先程長ったらしくなってしまった掛け算の5の段を表示するプログラムを、forを使って簡潔に記述しています。どのくらい簡潔になっているか見てみましょう。
val num = 5 for(range in 1..10) { println("${num}かける${range}は、${num*range}です。") }
この時「10..1」と記述すると何も出力されなくなるので注意ピヨ!「1..10」のように小さい数字から先に記述するピヨ!
出力
サンプルコードを実行すると、以下のように出力されます。
5かける1は、5です。 5かける2は、10です。 5かける3は、15です。 5かける4は、20です。 5かける5は、25です。 5かける6は、30です。 5かける7は、35です。 5かける8は、40です。 5かける9は、45です。 5かける10は、50です。
forを使うことで、めちゃくちゃ簡潔なコードになりましたね。このコードは「変数rangeの中に整数の1から10が代入されるまで繰り返し処理を実行してください」という文になります。
ですので、変数rangeに1から10が代入されるまでprintln関数が繰り返し実行され、掛け算が10回繰り返されたことがわかります。
合計11行あったコードが、forを使うことによってたった3行になったピヨ!
【Kotlin】forのstepについて
forの記述の中では、stepというキーワードを使うこともできます。このstepとは何なのかを勉強していきましょう。
stepを使うとどうなる?
ここまでのサンプルコードでは、整数を1ずつ増やしていっていましたよね?しかしこのstepを使うことで、間を飛ばすことができます。
どういうことかというと、1ずつ増やすのではなく、値を5ずつ増やしたりすることができます。
どのように記述するのか書式を見てみましょう。
stepを使った書式
forでstepを使う場合の書式は以下のようになります。
for(変数名 in Range step 値) { 繰り返し処理文を書く }
Rangeの後ろに「step 値」と記述するだけで、任意の値ずつ間を飛ばすことができます。
stepを使ったコードを記述してみよう
stepを使った書式がわかったところで、実際にstepを使ってコードを記述してみましょう。
サンプルコード
以下のサンプルコードは、掛け算の5の段を0から50まで5飛ばしで表示するプログラムになっています。
val num = 5 for(range in 0..50 step 5) { println("${num}かける${range}は、${num*range}です。") }
出力
サンプルコードを実行すると、以下のように出力されます。
5かける0は、0です。 5かける5は、25です。 5かける10は、50です。 5かける15は、75です。 5かける20は、100です。 5かける25は、125です。 5かける30は、150です。 5かける35は、175です。 5かける40は、200です。 5かける45は、225です。 5かける50は、250です。
きれいに5つ飛ばしで実行されたことがわかります。
「step 〇」を使うことで、変数に入れる値をいくつずつ増やすかを決めることができるピヨ!
【Kotlin】forのdownToについて
最後にforの記述の中では、downToというキーワードを使うこともできます。このdownToとは何なのかを勉強していきましょう。
downToを使うとどうなる?
ここまでのforでは数字が「1,2,3,4,5」と昇順で表示されていました。
しかし「downTo」というキーワードを使うことで「5,4,3,2,1」と降順で表示することができるようになります。
では、どのように記述するのか書式を見てみましょう。
downToを使った書式
forでdownToを使う場合の書式は以下のようになります。
for(変数名 in 〇 downTo 〇) { 繰り返し処理文を書く }
このように「..」の部分を「downTo」に変えることで、昇順から降順にすることができます。
downToを使ったコードを記述してみよう
downToを使った書式がわかったところで、実際にdownToを使ってコードを記述してみましょう。
サンプルコード
以下のサンプルコードは、掛け算の5の段を降順にして大きい数字から計算されるようになっています。
val num = 5 for(range in 10 downTo 1) { println("${num}かける${range}は、${num*range}です。") }
出力
サンプルコードを実行すると、以下のように出力されます。
5かける10は、50です。 5かける9は、45です。 5かける8は、40です。 5かける7は、35です。 5かける6は、30です。 5かける5は、25です。 5かける4は、20です。 5かける3は、15です。 5かける2は、10です。 5かける1は、5です。
「downTo」を使うことで、降順で出力されるようになるピヨ!
ただし降順にする「downTo」を使う時に「1 downTo 10」のように記述しても何も出力されなくなるので注意ピヨ!「10 downTo 1」のように大きい数字から先に記述するピヨ!
まとめ
この記事では、プログラミング言語であるKotlinのforを使った繰り返し処理やstepとdownToについて勉強していきましたが、いかがでしたでしょうか?今回の記事をまとめると以下のようになります。
- forは同じような処理を繰り返し実行したい時に使う「ループ処理」
- 条件にRangeを使うことで、コードが簡潔になる
- 昇順の場合は「1..10」のように小さい数字から記述する
- 「step」を使うと「5.10.15」のように数字を飛ばすことができる
- 降順の場合は「..」の代わりに「downTo」を記述し「10 downTo 1」のように大きい数字から記述する
今回勉強した「forを使った繰り返し処理やstepとdownToについて」はKotlinの入門レベルの知識になるので、何回も読み直してしっかり覚えておきましょう。
次回の記事では「whileを使った繰り返し処理とdo-whileについて」について勉強していくピヨ!
プログラミング未経験の方や入門レベルの方、Kotlinについて詳しくなりたい方は、また一緒に勉強するピヨ!
コメント