Kotlin while文とdo…while文のサンプル

Kotlinのwhile文とdo...while文のサンプルです。

目次

while文 while文とは / while文のサンプル
  ループを抜ける(break) / 2重ループを抜ける(ラベル)
  ループの先頭に戻る(continue)
do...while文 do...while文とは / do...while文のサンプル
  ループを抜ける(break) / 2重ループを抜ける(ラベル)
  ループの先頭に戻る(continue)
演算子 比較演算子

while文とは

while (条件){
       実行される処理
}
  • 条件がtrueの間、内部の処理を繰り返します。
  • 条件がfalseの場合、ループ処理を終了します。
  • 最初の条件の判定でfalseの場合、ループは1回も実行しません。
  • 処理に、条件をfalseにするロジックがないと無限ループになるので注意が必要です。

while文のサンプル

fun main() {

    var i = 0

    while (i < 5) {
        println(i) //0,1,2,3,4が出力される
        i++
    }
}

5行目は、値が5より小さい間、処理を繰り返します。
7行目は、条件になる値を加算しています。

while文 ループを抜ける(break)

fun main() {

    var i = 0

    while (true) {
        if (i == 3) {
            break
        }
        println(i) //0,1,2が出力される
        i++
    }
}

7行目のbreakは、while文を抜けます。
5行目は、条件をtrueにしています。このサンプルでは7行目のbreakがないと無限ループになるので注意して下さい。

while文 2重ループを抜ける(ラベル)

fun main() {
    var i = 0
    while1@ while (true) {
        while (true) {
            if (i == 3) {
                break@while1
            }
            println(i) //0,1,2が出力される
            i++
        }
    }
    println("終了") //出力される
}

3,4行目にwhileがある2重ループです。while1はラベルです。
6行目のbreakとラベルで外側のwhile文を抜けます。

while文 ループの先頭に戻る(continue)

fun main() {

    var i = 0

    while (i < 5) {
        if (i == 3) {
            i++
            continue
        }
        println(i) //0,1,2,4が出力される
        i++
    }
}

8行目のcontinueは、次は5行目を実行します。そのため10行目は実行されません。
このサンプルでは7行目の加算がないと無限ループになるので注意して下さい。

do...while文とは

do {
       実行される処理
while (条件);
  • 条件がtrueの間、処理を繰り返します。
  • 条件がfalseの場合、ループ処理を終了します。
  • 必ず1回は処理が実行されます。
  • 処理に、条件をfalseにするロジックがないと無限ループになるので注意が必要です。

do...while文のサンプル

fun main() {

    var i = 0

    do {
        println(i) //0,1,2,3,4が出力される
        i++
    } while (i < 5)
}

8行目は、値が5より小さい間、処理を繰り返します。

do...while文 ループを抜ける(break)

fun main() {

    var i = 0

    do {
        if (i == 3) {
            break
        }
        println(i) //0,1,2が出力される
        i++
    } while (true)
}

7行目のbreakは、do...while文を抜けます。
11行目は、条件をtrueにしています。このサンプルでは7行目のbreakがないと無限ループになるので注意して下さい。

do...while文 2重ループを抜ける(ラベル)

fun main() {
    var i = 0
    dowhile1@do {
        do {
            if (i == 3) {
                break@dowhile1
            }
            println(i) //0,1,2が出力される
            i++
        } while (true)
    } while (true)
    println("終了") //出力される
}

3,4行目にdoがある2重ループです。dowhile1はラベルです。
6行目のbreakとラベルで外側のdo-while文を抜けます。

do...while文 ループの先頭に戻る(continue)

fun main() {

    var i = 0

    do {
        if (i == 3) {
            i++
            continue
        }
        println(i) //0,1,2,4が出力される
        i++
    } while (i < 5)
}

8行目のcontinueは、次は12行目を実行します。そのため10行目は実行されません。
このサンプルでは7行目の加算がないと無限ループになるので注意して下さい。

比較演算子

比較演算子は、2つの値を比べて真偽値(true/false)を返します。
条件を満たしていればtrue,そうでない場合はfalseです。

Javaとの違いは、===と!==があります。

比較演算子 説明
a == b aとbの値は等しい
a != b aとbの値は等しくない
a > b aはbより大きい
a >= b aはbより大きい または 等しい
a < b aはbより小さい
a <= b aはbより小さい または 等しい
a===b aとbのインスタンスの参照は同じ
a!==b aとbのインスタンスの参照は異なる

関連の記事

Kotlin if文(式)のサンプル
Kotlin for文のサンプル(break/continue/ラベル)

△上に戻る