【Swift入門】if文による条件分岐の書き方を徹底解説!

Swiftでは処理を条件によって分岐したいときに使用するif文があります。

この記事では、

・if文による条件分岐とは
・比較演算子とは
・論理演算子とは
・if文の基本的な使い方

というif文の基本的な解説から、

・nil判定をする方法(if let)

などの応用的な使い方に関しても解説していきます。

今回はそんなif文の使い方についてわかりやすく解説します!

※この記事ではSwift3.1を使用しています。

目次

if文による条件分岐

Swiftには他のプログラミング言語同様に条件分岐処理で使用するif文が使用できます。

if文は条件式が真(true)の場合は、条件式が成り立った際の処理が実行されます。

書き方1:if

if 条件式 {
    条件式が真(true)の場合の処理
}

また、以下のようにelse ifで複数の条件を指定することもできます。

書き方2:if~else if~else

if 条件式1 {
    条件式1が真(true)の場合の処理
} else if 条件式2 {
    条件式2が真(true)の場合の処理
.
.
} else {
    どの条件にも一致しなかった場合に実行する処理
}

比較演算子

if文では比較演算子を使用して条件式を記述します。

比較演算子では主に2つ値を比較して、比較結果によって条件が真(true)または偽(false)となります。

主な比較演算子:
a == b:aとbが等しい場合にtrue、等しくなければfalse
a != b:aとbが等しくなければtrue、等しい場合はfalse
a > b:aがbより大きい場合にtrue、aとbが等しいまたはbが大きい場合はfalse
a < b:aよりbが大きい場合にtrue、aとbが等しいまたはaが大きい場合はfalse
a >= b:aとbが等しいまたはaがbより大きければtrue、aがbより小さければfalse
a <= b:aとbが等しいまたはaがbより小さければtrue、aがbより大きければfalse

論理演算子

if文による値の比較を行いたいときに、複数の条件式を組み合わせて比較することもよくあります。

例えば条件式1と条件式2を1つのif文で比較したい場合は論理演算子を使用します。

主な論理演算子:
条件式1 && 条件式2:条件式1と条件式2が成り立てばtrue、どちらかが成り立たない場合はfalse
条件式1 || 条件式2:条件式1と条件式2のどちらかが成り立てばtrue、両方とも成り立たない場合はfalse

if文の使い方

ここでは、if文の使い方について見ていきましょう。

if文の基本的な使い方

上述したようにif文は条件式が真の場合にtrue、偽の場合はfalseとなります。

var num = 5
 
if ( num > 10 ) {
    print("10以上です")
} else {
    print("10未満です")
}


実行結果:

10未満です

このif文では「num > 10」の条件式の結果がfalseのため、elseの処理が実行されます。

また、Swiftではifで記述する条件式の()カッコは省略することもできます。

var num = 5
 
if num > 10 {
    print("10以上です")
} else {
    print("10未満です")
}

複数の条件式を指定したい場合は「else if」を使用して、さらに条件式を記述することができます。

最初の条件式がfalseの場合はelse ifの条件式が実施されます。

var num = 5
 
if ( num > 10 ) {
    print("10以上です")
} else if ( num < 10 ) {
    print("10未満です")
} else {
    print("それ以外");
}

実行結果:

10未満です

2つの条件式の結果で判断したい場合は、上述したように論理演算子を使用します。

以下は2つの条件式の結果がtrueかどうかを判断するサンプルです。

var num1 = 20
var num2 = 50
 
if ( num1 > 10 && num2 > 10) {
    print("num1とnum2は10以上です")
} else {
    print("num1またはnum2は10未満です")
}

実行結果:

num1とnum2は10以上です

nil判定(if let)

SwiftではOptional(オプショナル)型という値が空(nil)を許容できる変数があります。

Optional型は型宣言の後ろに?クエスチョンマークをつけます。

var num: Int?

if let文ではOptional型の変数を判定するときに使用します。

if let文は値が空(nil)の場合はfalse、それ以外はtrueで判定されます。

var cnt1: Int?
if let num = cnt1 {
    print("num:\(num)")
} else {
    print("num:値は空です")
}

var cnt2: Int? = 100

if var num = cnt2 {
    num += 100
    print("num:\(num)")
}

実行結果:

num:値は空です
num:200

Optional型については、以下の記事で詳しく解説しています!

Switch文

Swiftにはif文以外で条件によって処理を分岐するSwitch文があります。

Switch文はif文と異なりcaseで条件となる値や変数をいくつか指定して、一致するcase文の処理を実行します。

書き方:

switch 値や式 {
case 値1:
    //・・・処理・・・
case 値2:
    //・・・処理・・・
case 値3:
    //・・・処理・・・
default:
    //・・・処理・・・
}

Switch文については以下の記事で詳しく解説していますので、ぜひ参考にしてください!

まとめ

ここではSwiftのif文について、

・if文による条件分岐とは
・比較演算子とは
・論理演算子とは
・if文の基本的な使いかた
・nil判定(if let)

などの使い方について解説しました。

if文は条件によって処理を分岐するときによく使う命令文ですので、使い方はしっかりと覚えておきましょう。

もし、if文の使い方を忘れてしまったら、この記事を思い出してくださいね!

この記事を書いた人

侍エンジニア塾は「人生を変えるプログラミング学習」をコンセンプトに、過去多くのフリーランスエンジニアを輩出したプログラミングスクールです。侍テック編集部では技術系コンテンツを中心に有用な情報を発信していきます。

目次