前回は if文 と if-else文 について記事を書きました。
今回は for文 と範囲演算子について書いていこうと思います。
for文と範囲演算子とは
for文 とは繰り返し構文のことで、for-in文 とも言います。
指定した回数分の処理を繰り返す事ができる構文です。同じ処理を複数回ループさせたい時に使います。
範囲演算子とは for文 と一緒に使うことが多い演算子で、開始値から終了値までの範囲を決めるときに使います。
まずはよく使う範囲演算子からみていきましょう。
範囲演算子の種類
範囲演算子 | 意味 |
---|---|
… | 終了値を含む |
..< | 終了値を含まない |
この 2 種類がよく使われる範囲演算子だと思います。
for文の書式
for 定数名 in 整数A 範囲演算子 整数B {
繰り返したい処理
}
for文 は頭に for キーワードを付けます。
定数名は何でもいいですが、基本 i か j とすることが多いと思います。
※整数 A より、整数 B の方が大きい整数でなければエラーになります。
for文 の書き方
//for文の書き方例1
for i in 1 ... 10 {
print(i)
}
この例は print( i ) を 10 回ループさせる例です。
範囲演算子の … は、終了値を含む演算子なので 1 ~ 10 回目までループします。
※コードの流れ
i には最初 1 が代入される
↓
print( i ) を実行
↓
for文 の閉じかっこ } まで処理が来たら一度破棄される
↓
戻って次は i に 2 が代入される
↓
また print( i ) を実行、、、
という流れで回数分コードが読まれていきます。
//for文の書き方例2
for i in 1 ..< 10 {
print(i)
}
この例は上の例 1 と似ていますが、範囲演算子が … から ..< に変わっています。
この ..< は終了値を含まない演算子なので、ループする回数は 1 ~ 9 回目までとなります。
Int型 の変数や定数であれば、範囲の所を a … b や a ..< b のような書き方も出来ます。
var a = 1
var b = 10
for i in a ... b {
print("\(i)回目")
}
for i in a ..< b {
print("\(i)回目")
}
インクリメントとデクリメント
インクリメントとは、何かの数字に 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/