Swift while文による繰り返し処理

今回の記事ではSwiftのwhile文についてまとめます。
while文は繰り返し処理を行う制御構文の一つです。

wile文とは

while文は指定した条件式が成り立つ間同じ処理を繰り返し行う制御構文です。
同じ繰り返し処理の制御構文であるfor文は配列などのコレクションの要素を順に処理していきましたが、while文は条件式によって繰り返しを行うかを判定します。
while文は以下のように記述します。

while 条件式 {
    条件式が成り立つ間繰り返される処理
}

条件式の部分はBool型の値を返す必要があります。
条件式の判定は処理の前に実施され結果がtrueであれば繰り返し処理を行い、falseであれば処理は行わずにwhile文を抜けます。

while文の利用

while文の利用例です。
こちらの例では変数countが4未満であるかどうかを条件式として、繰り返し処理でcountを出力しし1加算しています。

var count = 0

while count < 4 {
    print(count)
    count += 1
}

// >>> 0
// >>> 1
// >>> 2
// >>> 3

repeat-while文

while文は処理の前に条件式の判定を行っていたため、最初に条件式が成り立たない場合は1回も処理が実行されません。
repeat-while文はwhile文のような繰り返し処理を行う制御構文ですが、最初に1回確実に処理を実行してから条件式を判定します。
repeat-while文は以下のように記述します。

repeat {
    繰り返し実行される処理
} while 条件式

同じ条件式でも、while文とrepeat-while文で処理の実行の有無が変わります。

// 利用例
var count = 1

while count < 1 {
    print(count)
    count += 1
}

// 何も実行されない

repeat {
    print(count)
    count += 1
} while count < 1

// 最初に処理が実行されるので1が出力される
// >>> 1

まとめ

  • while文は条件式がtrueの間、処理が実行される繰り返し処理の制御構文
  • while文は処理の前に条件式の判定が行われ、処理実行の有無が決定される
  • repeat-while文は処理を最初に1回実行してから条件式の判定を行う

条件式による判定で繰り返し処理を行うwhile文はfor文と使い分けることで、より綺麗なコードを書くことができます。
それぞれの制御構文の特徴を捉え、適切に使っていきましょう。
ここまで読んでいただきありがとうございました。
それでは、また。