【Swift】for文と範囲演算子

for文とは繰り返し構文のことで、for-in文とも言います。
指定した回数分の処理を繰り返す事ができる構文です。同じ処理を複数回ループさせたい時に使います。
範囲演算子とはfor文と一緒に使うことが多い演算子で、開始値から終了値までの範囲を決めるときに使います。
まずはよく使う範囲演算子からみていきましょう。

for-inアイキャッチimg

前回は if文 と if-else文 について記事を書きました。

今回は for文 と範囲演算子について書いていこうと思います。

for文と範囲演算子とは

for文 とは繰り返し構文のことで、for-in文 とも言います。
指定した回数分の処理を繰り返す事ができる構文です。同じ処理を複数回ループさせたい時に使います。
範囲演算子とは for文 と一緒に使うことが多い演算子で、開始値から終了値までの範囲を決めるときに使います。
まずはよく使う範囲演算子からみていきましょう。

範囲演算子の種類

範囲演算子意味
終了値を含む
..<終了値を含まない

この 2 種類がよく使われる範囲演算子だと思います。

for文の書式

for 定数名 in 整数A 範囲演算子 整数B {
 繰り返したい処理
 }

for文 は頭に for キーワードを付けます。
定数名は何でもいいですが、基本 ij とすることが多いと思います。
整数 A より、整数 B の方が大きい整数でなければエラーになります。

for文 の書き方

//for文の書き方例1
for i in 1 ... 10 {
    print(i)
}

この例は print( i ) を 10 回ループさせる例です。
範囲演算子の は、終了値を含む演算子なので 1 ~ 10 回目までループします。

※コードの流れ
i には最初 1 が代入される

print( i ) を実行

for文 の閉じかっこ } まで処理が来たら一度破棄される

戻って次は i2 が代入される

また print( i ) を実行、、、
という流れで回数分コードが読まれていきます。

//for文の書き方例2
for i in 1 ..< 10 {
    print(i)
}

この例は上の例 1 と似ていますが、範囲演算子が から ..< に変わっています。
この ..<終了値を含まない演算子なので、ループする回数は 1 ~ 9 回目までとなります。

for-inコードimg

Int型 の変数や定数であれば、範囲の所を a ba ..< b のような書き方も出来ます。

var a = 1
var b = 10

for i in a ... b {
    print("\(i)回目")
}

for i in a ..< b {
    print("\(i)回目")
}
for-inコードimg2

インクリメントとデクリメント

インクリメントとは、何かの数字に 1 足すことをインクリメントと言います。
デクリメントはその逆で、何かの数字から 1 引くことをデクリメントと言います。

例えば 1 を 10 回インクリメントしたい時、for文 を使わず書くとこうなります。

var a = 0
a = a + 1
a = a + 1
a = a + 1
a = a + 1
a = a + 1
a = a + 1
a = a + 1
a = a + 1
a = a + 1
a = a + 1
print(a) //10

1 行 1 行インクリメントしていかないと 10 回足せません。
これを for文 で書きます。

var a = 0

for _ in 1 ... 10 {
    a = a + 1
}
print(a) //10

結果は同じで、コードが短くなりました。可読性も向上したと思います。

for文 の定数名の所がアンダーバー _ になっていますが、これは for文 の中の処理で使わない場合に、アンダーバー _ として省略になっています。
以上 for文 と 範囲演算子 についてでした。

次回は 複合代入演算子 について書いていこうと思います。

実行環境

version
Xcode 14.2 (14C18)
Swift 5.2.4

公式ドキュメント

https://docs.swift.org/swift-book/documentation/the-swift-programming-language/

投稿者: tomo

30代経験ゼロからプログラミングを始めて、趣味でiOSのアプリを作って遊んでる人。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です