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文の使い方を忘れてしまったら、この記事を思い出してくださいね!