English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Kotlin whileおよびdo...whileループ

ループは特定の条件(テスト式がfalse)が満たされるまで特定のコードブロックを繰り返すためにプログラミングで使用されます。この記事では、Kotlinプログラミングでwhileおよびdo...whileループを作成する方法を学びます。

ループは特定の条件(テスト式がfalse)が満たされるまで特定のコードブロックを繰り返すためにプログラミングで使用されます。

ループはコンピュータを面白くする。例えば、画面に一文を印刷する必要があると想像してみてください。50回。それでは、print文を使用して50回(ループを使用しない)でこれを行うために必要です。百万回の文を印刷する必要がありますか?ループを使用する必要があります。

このwhileおよびdo..whileのループの例を通じて、理解することができます。

もしも慣れている場合は、Javaのwhileおよびdo...whileループそれでは、Kotlinでのこれらのループに既に慣れているかもしれません。

Kotlin whileループ

whileループの構文は以下の通りです:

while (testExpression) {
    // whileループ内のコード
}

whileループがどう動作するのか?

括弧内のテスト式はブール式。

テスト式の計算結果がtrueの場合、

  • whileループ内の文が実行されます。

  • 次に、テスト式を再び評価します。

このプロセスはテスト式がfalseと評価されるまで続行します。

テスト式の計算結果がfalseの場合、}}

  • whileループは終了します。

whileループのフローチャート

例:Kotlinのwhileループ

//プログラムは印刷します5回
fun main(args: Array<String>) {
    var i = 1
    while (i <= 5) {
        println("Line $i")
        ++i
    }
}

このプログラムを実行すると、出力は以下の通りです:

Line 1
Line 2
Line 3
Line 4
Line 5

注意、whileループ内の ++i 文。次の反復で5回の反復後、変数iは増加します6。その後、テスト式 i <= 5 評価がfalseになり、ループは終了します。

ループの主体が一つの文だけの場合、括弧{ }を使用する必要はありません。 

例:自然数の和を計算する

//プログラムは計算します1まで10自然数の和を求めます。
fun main(args: Array<String>) {
    var sum = 0
    var i = 100
    while (i != 0) {
        sum += i     // sum = sum + i;
        --i
    }
    println("sum = $sum")
}

このプログラムを実行すると、出力は以下の通りです:

sum = 5050

ここでは、変数sumは0に初期化され、iも0に初期化されます 100。whileループの各反復で、sum変数はsumに割り当てられます + i、およびiの値が減少します1iが0に等しいまで。

第1回の反復: sum = 0+100 = 100, i = 99
第2回の反復: sum = 100+99 = 199, i = 98
第3回の反復: sum = 199+98 = 297, i = 97
... .. ...
... .. ...
第99回の反復: sum = 5047+2 = 5049, i = 1
第100回の反復: sum = 5049+1 = 5050, i = 0 (ループ終了)

テスト式やその評価方法についての詳細は、以下を参照してください。比較および論理演算子

Kotlinのdo...whileループ

do...whileループはwhileに似ていますが、一つの重要な違いはループの部分です。do...whileループの主体はテスト式をチェックする前に一度だけ実行されます。

その文法は以下の通りです:

do {
   //do whileループ内のコード
} while (testExpression);

do...whileループはどのように動作しますか?

doの主体内のコードは一度だけ実行されます(testExpressionをチェックしません)。その後、テスト式をチェックします。

テスト式がtrueと評価された場合、ループ内のコードを実行し、テスト式を再評価します。このプロセスは、テスト式がfalseと評価されるまで続きます。

テスト式がfalseと評価された場合、do..whileループは終了します。

do ... whileループのフローチャート

例:Kotlinのdo ... whileループ

以下のプログラムは、ユーザーが0を入力するまでにユーザーの入力した数字の合計を計算します。

ユーザーの入力を受け入れるために、readline()関数を使用します。推薦読書: Kotlinの入力

fun main(args: Array<String>) {
    var sum: Int = 0
    var input: String
    do {
        print("整数を入力してください: ")
        input = readLine()!!
        sum += input.toInt()
    } while (input != "0")
    println("sum = $sum")
}

プログラムを実行するとき、以下のように出力されます:

整数を入力してください: 4
整数を入力してください: 3
整数を入力してください: 2
整数を入力してください: -6
整数を入力してください: 0
sum = 3