スライドショー

【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文による条件分岐をマスターしよう!
更新日 : 2017年9月7日

まとめ

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

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

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

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

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

LINEで送る
Pocket

無料でSEからWebエンジニアへ転職しませんか?



侍エンジニア塾では、完全未経験の方から現在SEだけどプログラミングはやっていないという経験者まで、幅広い方々の人生を好転させるプログラミング指導を行ってきました。SEの方とお話していくなかで、

  • システムエンジニアという職業だけどコードが書けない
  • 事務作業が多くスキルがないため将来が不安
  • スクールに通うと完全未経験者と同じスタートになるからレベルが合わない
という、すでに知識があるSEならではのお悩みがあることに気づきました。そんな方におすすめなのが、弊社の「転職コース 」です。

弊社では、マンツーマンでレッスンを行いますので、現在お持ちの知識レベルからカリキュラムを作成いたします。さらにこちらの転職コースは無料で受講を始められて転職成功でそのまま卒業できるというとてもお得なコースとなっています。

既に知識のあるSEといっても転職は年齢が若いほど受かりやすいため、まずは無料体験レッスンで今の現状や理想の働き方について一緒に考えていきましょう。

まずは無料体験レッスンを予約する

書いた人

ヤマシタ

エンジニア歴10年のフリーランスエンジニア。ITに関わるさまざまなコンテンツの企画・制作も行っています。
ITに関してはノウハウ系、ライフハック系、トレンド系など、200本以上の執筆経験があります。

おすすめコンテンツ

あなたにぴったりなプログラミング学習プランを無料で診断!

プログラミング学習の効率を劇的に上げる学習メソッドを解説