English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
ループは特定の条件(テスト式がfalse)が満たされるまで特定のコードブロックを繰り返すためにプログラミングで使用されます。この記事では、Kotlinプログラミングでwhileおよびdo...whileループを作成する方法を学びます。
ループは特定の条件(テスト式がfalse)が満たされるまで特定のコードブロックを繰り返すためにプログラミングで使用されます。
ループはコンピュータを面白くする。例えば、画面に一文を印刷する必要があると想像してみてください。50回。それでは、print文を使用して50回(ループを使用しない)でこれを行うために必要です。百万回の文を印刷する必要がありますか?ループを使用する必要があります。
このwhileおよびdo..whileのループの例を通じて、理解することができます。
もしも慣れている場合は、Javaのwhileおよびdo...whileループそれでは、Kotlinでのこれらのループに既に慣れているかもしれません。
whileループの構文は以下の通りです:
while (testExpression) { // whileループ内のコード }
括弧内のテスト式はブール式。
テスト式の計算結果がtrueの場合、
whileループ内の文が実行されます。
次に、テスト式を再び評価します。
このプロセスはテスト式がfalseと評価されるまで続行します。
テスト式の計算結果がfalseの場合、}}
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 (ループ終了)
テスト式やその評価方法についての詳細は、以下を参照してください。比較および論理演算子。
do...whileループはwhileに似ていますが、一つの重要な違いはループの部分です。do...whileループの主体はテスト式をチェックする前に一度だけ実行されます。
その文法は以下の通りです:
do { //do whileループ内のコード } while (testExpression);
doの主体内のコードは一度だけ実行されます(testExpressionをチェックしません)。その後、テスト式をチェックします。
テスト式がtrueと評価された場合、ループ内のコードを実行し、テスト式を再評価します。このプロセスは、テスト式がfalseと評価されるまで続きます。
テスト式がfalseと評価された場合、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