Hirauchiホームプロフィールプログラミング作品集お問い合わせ最終更新日:2020/01/26【Kotlin基礎】Kotlinでfor文によるループ処理を実装する方法を解説KotlinプログラミングKotlinでfor文によるループ処理を実装する方法が知りたい。until、step、downToの使い方が知りたい。ListやMapをループ処理させる方法が知りたい。Javaで実装した場合との違いが知りたい。他のループ処理についても知りたい。本記事では、そんな悩みを解決致します。サンプルコードを交えた解説で、for文による基本的なループ処理や、until、step、downToの使い方、さらに、ListやMapをループさせる方法を紹介致します。Javaの経験者の方にはより理解しやすい記事となっております。目次1.Kotlinでfor文によるループ処理を実装する方法1-1.レンジでのループ処理1-2.until、step、downToの使い方1-3.Listのループ処理1-4.Mapのループ処理2.for文以外のループ処理2-1.forEachでのループ処理2-2.while、do-whileでのループ処理3.まとめKotlinでfor文によるループ処理を実装する方法レンジでのループ処理ループさせるレンジを指定して実装するには、次のように実装します。ループ処理}A..Bの部分には、『0..4』のように、ループさせるレンジを指定します。変数の部分には、任意の変数を指定します。ループ処理が実行されるたびにインクリメント(1ずつ増加)していきます。実際の使用例を、Javaのコードと比較しながら紹介致します。先ほど紹介したfor文は、"A..B"のレンジ内を、インクリメント(1ずつ増加)しながらループするというものでした。実装によっては、「A..Bの内、Bは含めたくない」、「2ずつ増やしたい」、「デクリメント(1ずつ減少)させたい」ということがあると思います。続いてはそれらの実装方法を紹介致します。untilの実装方法まずは、"A..B"のレンジ内で、Bを含めずにループさせる方法です。最後の数を含めない場合は、untilを使用します。untilは、次のように実装します。ループ処理}"A..B"の".."の部分をuntilに置き換え、AとBの間に半角スペースを入れます。untilを使用することで、Bを含めないでループさせることができます。7untilを使用せずに、"3..7"でも同じ結果を得られますが、配列のサイズ分ループさせる場合などは、untilを使用する方が、可読性が上がるかもしれませんね。続いて、ループ処理が実行されるたびに、任意の数ずつ変数の値を増やす方法を紹介致します。任意の数ずつ変数の値を増やすには、stepを使用します。stepは、次のように実装します。値"を実装することで、ループ処理が実行されるたびに、値の数ずつ変数の値が増加していきます。6と2ずつ増えていきます。レンジが0~5なので、6は出力されず、ループ処理が終了します。続いて、ループ処理が実行されるたびに、変数の値をデクリメント(1ずつ減少)させる方法を紹介致します。変数の値をデクリメントさせるには、downToを使用します。downToは、次のように実装します。B"と実装することで、ループ処理が実行されるたびに、変数の値がデクリメントしていきます。デクリメントするので、Aには、Bよりも大きい値を指定する必要があります。0iの値は、5~0まで1ずつ減少していきます。ちなみに、stepと組み合わせることもできます。stepを使用した場合は、デクリメントではなく、stepで指定した値ずつ減少していきます。1Point変数の値を減少させながらループさせるには、downToを使用するListのループ処理Listの要素の数だけ順番にループさせていくには、次のように実装します。ループ処理}ループされるたび、変数には、Listの要素が順番に入ってきます。バナナまた、ループ処理中に、要素のindexを知りたい事があるかもしれません。その場合は、indicesを使用します。バナナ「いやいや、indexと要素の両方を取得したい!」という場合は、withIndexを使用します。最後に、Mapのループ処理を紹介致します。Listの要素の数だけ順番にループさせていくには、次のように実装します。ループ処理}ループされるたび、KeyとValueを取得することができます。