【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入門】Switch文による条件分岐をマスターしよう!
更新日 : 2020年5月8日

まとめ

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

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

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

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

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

LINEで送る
Pocket

ITエンジニアへ転職したい方におすすめ

自分を評価してくれる企業に転職して年収を上げたい! 自分のスキルにあった独自案件を知りたい!
エンジニアは今もっとも注目されている職業の1つ。エンジニアになって年収を増やしたい方や、あなたのスキルに見合った企業へ転職したいエンジニアの方も多いですよね。

しかし、大手の転職媒体は扱う求人数が多くても、誰もが登録しているので競争率もかなり高くなっています。そのため、あなたの条件に見合った企業を見つけても転職するためには、相応の努力とスキルが必要となります。

こういった媒体では、未経験からエンジニアを目指す方やエンジニア歴2〜3年で転職を考えている方にとって、最適な転職環境とはいえません。

そこでオススメしたいのが、未経験者や若手エンジニア向けの独自案件を多く掲載している「侍ワークス」です。

侍ワークスは、独自案件を多く掲載しているだけでなく、

・応募から就業まで一貫したサポート

・就業後もアフターフォロー

といった経験の浅い方や初めてエンジニアを目指す方にも安心のフォロー体制が整っています。もちろん登録は完全無料!しかも案件を見るだけなら登録も不要です。

まずは、お気軽にどんな求人があるか見てみてください。あなたにピッタリの企業がきっと見つかりますよ! 侍ワークスの求人情報を見る

書いた人

ヤマシタ

システムエンジニアとして10年勤務→フリーランスへ。現在は侍ブログ編集部としてこれまでに200記事以上の記事を執筆。
大規模システム開発からWebアプリ開発まで経験あり。最近ではPythonの機械学習に挑戦中。