Swift の while ループ

Swift でコードを繰り返し実行する(ループする)には、for-in 文か while 文か repeat-while 文を使います。

ここでは Swift の while 文 と repeat-while 文についてご説明します。

Swift の while 文

Swift の while 文は 条件文が true の間、コードブロックを繰り返し実行します。

繰り返す回数が事前にわかっていない時などに便利です。

while [条件文] {
    ループ中に実行されるコードブロック
}

最初から条件文が false の時は、コードブロックは一度も実行されません。

ループ中に条件文が false になったら、その回はコードブロックを実行せずにループを抜けます。

条件文が false にならないと、無限ループになって、永遠にコードブロックが実行され続けてしまいますので、お気をつけください。


では、Swift の while 文を使ってループしてみましょう。

変数 i を 1 に初期化して、i が 10 より小さい間、コードブロックを繰り返し実行するようにします。

コードブロックでは、i を print し、i に 2 ずつ足しています。

ループを抜けた後にも i も print しています。

var i = 1

while i < 10 {
    print("i = \(i)")
    i += 2
}

print("final i = \(i)")

実行結果は次のようになります。i が 11 になった時に条件文が false になり、while ループを抜けているのがわかりますね。

i = 1
i = 3
i = 5
i = 7
i = 9
final i = 11

Swift の while 文 1


Swift の repeat-while 文

Swift の repeat-while 文は while 文と似ていて、条件文が true の時にループしますが、実行を続けるかの条件文を後でチェックします。

repeat {
    ループ中に実行されるコードブロック
} while [条件文]

最初から条件文が false でも一度はコードブロックが実行されます。

こちらも、条件文が false にならないと、無限ループになって、永遠にコードブロックが実行され続けてしまいますので、お気をつけください。


では、Swift の repeat-while 文を使ってループしてみましょう。

先ほどと同じことをするコードを repeat-while 文を使って書くと次のようになります。

var i = 1

repeat {
    print("i = \(i)")
    i += 2
} while i < 10

print("final i = \(i)")

実行結果は次のようになります。i が 11 になった時に条件文が false になり、repeat-while ループを抜けています。

i = 1
i = 3
i = 5
i = 7
i = 9
final i = 11

Swift の while 文 2


上の二つのコードの条件文を i < 10 ではなく i < 1 に変更して実行すると、while のほうは一度もコードが実行されませんが、repeat-while のほうは一度実行されているのがわかりますね。

Swift の while 文 3

Swift の while 文 4


以上、Swift の while 文 と repeat-while 文についてご説明しました。

© 2024 iOS 開発入門