![見出し画像](https://assets.st-note.com/production/uploads/images/25735676/rectangle_large_type_2_f1b50818d9047b40d82fc7eb023dc791.png?width=1200)
プログラミングを始める。 - 繰り返しましょ(while)。
for-in Loopは回数がはっきりしている場合が多いです。配列データの数や、数値を直接指定してループ、繰り返しをします。
"while"の場合はというと、まずは基本の形です。
while ループ条件 {
// 何らかの処理
}
for-in Loopが直接的な数値を持って繰り返すのに比べて、whileは条件が真の時、Trueの時のみ実行するということです。例えば
var count = 2
var total = 10
while true{
if total == 0{
break
}
total -= count
print(total)
}
条件のところを真偽そのまま"true"を入れてやります。"true"の場合に実行し続けます。この場合に終わらせる場合には処理の中に条件を付け条件に合致した場合には"break"として強制的に終わらせる感じになっています。
このコードを少し変えて、
var count = 2
var total = 10
while total > 0{
total -= count
print(total)
}
とすると同じことができます。
"total > 0"となっているのが少し気になると思いますが、whileの条件の見方、判定の仕方がわかるとスッキリします。
"while"の処理の進め方はまず、
total > 0
の条件を見て、真であれば実行するという仕組みになっています。なので最初に試した"while true{}"ですが条件としてはまず"true"から入っていますので全ての処理が行われるということになります。終わる手段として
if total == 0{}
の条件を付けて判定しています。
これと同じにするためには、変数totalに"0"を入れてしまうと進みすぎるので一つ手前、"total > 0"としています。
次ですが、
repeat {
// 何らかの処理
} while ループ条件
これも条件の"真"trueの間は続けるということです。では先に試した、
while ループ条件 {
// 何らかの処理
}
との違いはというとこちらはこちらは先に条件の真偽を判定してから処理を始めます。1回も実行されない場合もあります。
repeat {}の方はwhile ループ条件があとにあり、最後に真偽をチェックするため、最初の処理は必ず実行されて真偽判定となります。falseの場合は実行終了します。必ず1回は実行がされるのが特徴です。