kotlin

【Kotlin】for、while、do-while ループ処理とは?

こんにちは、テルプロです!

「Kotlinのループ処理の使い方がわからない」とお悩みではないでしょうか?

テルプロ

本記事ではそんな悩みを解決していきます!

ループ処理とは for文、while文、do-while文

  1. 繰り返し同じ処理をさせることができるもの
  2. for文、while文、do-while文の3種類あります

Kotlinのループ処理を理解する上で、押さえておくべきポイントは上記の2点のみです。

では、それぞれ詳しく解説していきます!

Kotlinのfor文

for文を用いることで、for文内の処理を任意の回数分繰り返し行うことができます。

ループ処理の中でも代表的なのが、for文です。

では、実際の使用例を用いて解説していきます。

使用例

fun main() {
    for (i in 0 until 10) {
        println("Hallo World")
    }
}

// 出力結果 Hallo World x10

上記は、for文によりHallo Worldを10回プリントするプログラムです。

値[i]が0から10になるまで、for文内の処理を繰り返しています。
iが10になるとfor文の処理をくりあえさなくなるため、for文のループ処理を「0、1、2、3、4、5、6、7、8、9」の10回分処理を行います。

for文の例をもう一つ見てみましょう。

fun main() {
    for (i in 1..5) {
        println("このiの数は$i")
    }
}

// 出力結果 このiの数は1
// ~
// 出力結果 このiの数は5

先ほどとfor文の()の中の条件が異なっています。
for (i in 1..5)とありますが、これはiが1~5の間つまりfor文内の処理を5回繰り返します。
Kotlinでは()の中の条件の書き方は様々です。

以上が、ループ処理(for文)の基本的な使い方です。
for文は特定の回数処理を繰り返すことが得意です。

Kotlinのwhile文

while文を用いることで、Listなどに格納されている全てのデータを順に取得し、宣言した変数に代入させていくことができます。

では、実際の使用例を用いて解説していきます。

使用例

fun main() {
    val numList = listOf(1, 2, 3, 4, 5)
    var index = 0

    while (index < numList.size) {
        print(numList[index])
        index++
    }
}

// 出力結果 12345

上記は、配列のデータを最初から最後までプリントするプログラムです。

この例ではnumList.sizeでnumListのリストサイズを取得し、indexがリストサイズまで、すなわち最初から最後までループ処理を行っています。

以上が、ループ処理(while文)の基本的な使い方です。

Kotlinのdo-while文

do-while文を用いることで、Listに格納されている全てのデータを0から順に取得することができます。

基本的な役割は「while文」と同じですが、while文は条件に当てはまらなければ処理を行わない場合がありますが、do-while文は最低1回処理を行います。

では、実際の使用例を用いて解説していきます。

使用例

fun main() {
    val numList = listOf(1, 2, 3, 4, 5)
    var index = 0

    do {
        print(numList[index])
        index++
    } while (index < numList.size)
}

// 出力結果 12345

上記は、配列のデータを0から順にプリントするプログラムです。

最後のデータの取得と処理が完了すると、ループ処理は終了します。

以上が、ループ処理の基本的な使い方です。

まとめ

今回はKotlinの【ループ処理】の概念や使い方を徹底解説しました。

Kotlinでのループ処理(for文while文do-while文)は、同じ処理を繰り返し行いたい場合に使用します。特にfor文while文はよく見かけます。
Kotlinの文法をしっかり学び、開発の可能性を広げましょう!

最後までご覧いただきありがとうございました。ではまた!

参考文献
ABOUT ME
テルプロ
東京都在住のアプリエンジニア。大学では、ソフトウェア開発の研究に取り組む。長期のエンジニアインターンシップを経て、実務スキルを磨き、現在はフリーランスエンジニアとしても活動中。メインはモバイルアプリ開発。IT関連の記事監修も行い、技術の共有と普及に励んでいます。 監修実績(レバテックフリーランス
Flutter関連の書籍を出版しました!