Swift の if 文

プログラミングで、ある条件によって違うコードを実行したい時には if 文をよく使います。

ここでは Swift の if 文 についてご説明します。

Swift の if 文の基本

if 文は条件式が true(真)になる時に続くコードブロックを実行します。

Swift の if 文の構文は次の通りです。

if [条件式A] {
    [コードブロックA]
} else if [条件式B] {
    [コードブロックB]
} else if [条件式C] {
    [コードブロックC]
} else {
    [コードブロックD]
}

ここで、else if や else は必須ではなく、else if は何回続けてもかまいません。

まずは if の [条件式A] を評価し、true であれば、[コードブロックA] を実行します。

if の条件式 が false の時は上から順番に else if の条件式を評価していき、最初に true になった箇所のコードブロックを実行します。

true になる条件式があった場合は、そこのコードブロックが実行され、それ以降に条件式にも true になるものがあったとしても、そのコードブロックは実行されません。

どの条件も false だった時は else のコードブロックが実行されます。


それでは if 文を使ってみましょう。

次の if 文を実行すると結果はどうなるでしょうか。

var a = 4
var msg: String

if a == 5 {
    msg = "a は 5 です。"
} else if a != 4 {
    msg = "a は 4 ではありません。"
} else if a > 2 {
    msg = "a は 2 より大きいです。"
} else {
    msg = "上の条件どれにもあてはまりません。"
}
print(msg)

上から順番に条件式を評価していき、a == 5 は false、a != 4 も false、a > 2 で true になるので、else if a > 2 に続くコード msg = "a は 2 より大きいです。" が実行されます。

print(msg) で msg を出力してみると、「a は 2 より大きいです。」が出力されていますね。

Swift の if 文 1

if 文 - 複数の条件式

&& (and) や || (or) 演算子を使って、複数の条件式を合わせて判断することもできます。

例えば、a が 4 ではなくて、6 より大きい時に何かを実行したいのであれば、and を使って次のようにします。

var a = 7
var msg: String

if a != 4 && a > 6 {
     msg = "a は 4 ではなくて、6 より大きいです。"
} else {
    msg = "a は 4 か、6 以下です。"
}
print(msg)

7 は 4 ではなくて、6 より大きいので if の条件式が true になり、実行結果は次のようになります。

Swift の if 文 2


a を 5 に変更して再実行してみましょう。

Swift の if 文 3

今度は a != 4 は true ですが、 a > 6 が false になり、&& 演算子を使うと、条件式が両方 true の時のみ if のコードブロックが実行されるので、else のコードブロックが実行されています。


Swift の三項条件演算子

三項条件演算子 (ternary conditional operator) は if 文を使わずに if - else と同じようなコードがより簡潔に書けるシンタックスです。

Swift の三項条件演算子 は ? : を使って以下のように書きます。

[条件式] ? [条件式が true の時の値] : [条件式が false の時の値]

例えば、次のようなコードがあります。

var a = 4
var msg: String

if a == 5 {
    msg = "a は 5 です。"
} else {
    msg = "a は 5 ではありません。"
}
print(msg)

これを三項条件演算子を使って書き換えると、以下のようになります。

var a = 4
var msg: String

msg = a == 5 ? "a は 5 です。" : "a は 5 ではありません。"
print(msg)

実行してみると a == 5 は false なので msg に 「a は 5 ではありません。」が代入されていますね。

Swift の if 文 4


以上、Swift の if 文 についてご説明しました。

© 2024 iOS 開発入門