「 条件によって処理を分岐させたい… 」
「 if文ってあるけど、どう使ったらいいの…? 」
プログラムは、ある条件が、真(true)か偽(false)で処理を分岐させて処理を行っていきます。
この”真”か”偽”かを判定する方法の1つとして使われるのが、「if文」です。
今回はプログラミングにおいて代表的な制御文である、if文について解説していきます!
[ 本記事はこんな人におすすめ ]
・プログラミングをこれから学ぶ
・swiftをこれから学ぶ
・if文を使えるようになりたい
環境・バージョン
> Swift 5.7.2
> Xcode 14.2
> macOS 12.5 Monterey
if文とは、プログラミングで真(true)と偽(false)を確認するために用いる制御文の一つです。
if(イフ)とは「もし〜なら」という意味を持ちます。
if文によって条件を指定することで、プログラム処理を条件分岐させることができます。
もし条件に合う状態であれば評価は”true“となり、
条件に合わなければ評価は”false“となります。
身近なもので例えると、「スイッチがONなら電気が付き、OFFなら電気が消える」のような処理も条件分岐の一つであり、if文で処理を表現することができます。
以下より、if文の基本的な使い方を確認していきましょう。
if <条件> { … } とコードを記述することで、条件を判定します。
let number = 10
// 条件①: もしnumberが5より大きかったら
if number > 5 { // ⬅︎ 判定true
print("numberは5より大きいです")
}
// 条件②: もしnumberが10より大きかったら
if number > 10 { // ⬅︎ 判定false
print("numberは10より大きいです")
}
上記のコードを実行した場合、
⇨ 条件①は当てはまるので処理が実行され、print出力されます。true
⇨ 条件②は当てはまらないので処理は実行されず、print出力されません。false
if文にelse節を付け足すことで、条件に当てはまる場合(true)の処理と合わせて、
“条件に当てはまらなかった場合(false)“の処理も加えることができます。
let number = 1
if number > 5 { // ⬅︎ 判定false
print("numberは5より大きいです")
} else { // ⬅︎ コード実行
print("numberは5より小さいです")
}
if文に「else if」を繋げていくことによって複数の条件を判定することができます。
上から順番に条件をチェックしていき、当てはまった時点で対象のブロック内のコードを実行します。
どの条件にも当てはまらなかった場合、elseブロック内のコードが実行されます。
また、最後のelse節は省略が可能です。
else節が無い、かつどの条件にも当てはまらない場合、コードは実行されません。
let number = 10
if number > 20 { // ⬅︎ 判定false
print("numberは20より大きいです")
} else if number < 5 { // ⬅︎ 判定false
print("numberは5より小さいです")
} else if number == 10 { // ⬅︎ 判定true コード実行
print("numberは10です")
} else { // ⬅︎ 判定なし
print("どの条件にも当てはまりません")
}
if文では条件の指定に”比較演算子“(ひかくえんざんし)を用います。
比較演算子は、となり合う2つの値を比較して条件の真偽を判定します。
◯主な比較演算子
let number = 10
if number == 10 { // ⬅︎ 判定true
print("numberは20より大きいです")
}
if number > 10 { // ⬅︎ 判定false
print("numberは10より大きいです")
}
if number < 10 { // ⬅︎ 判定false
print("numberは10より小さいです")
}
if number >= 10 { // ⬅︎ 判定true
print("numberは10以上です")
}
if number <= 10 { // ⬅︎ 判定true
print("numberは10以下です")
}
[コード実行結果]
論理演算子(ろんりえんざんし)では、一度の真偽判定に複数の条件比較を用いることができます。
論理演算子には主に次のような演算子が用意されています。
・「&&」(論理積)
・「||」(論理和)
・「!」(否定)
それぞれ見ていきましょう。
◯使用例
(どちらかが当てはまらなければfalse)
(どちらも当てはまらなければfalse)
(当てはまればfalse)
論理積、論理和、否定を図で表すと以下のようになります。
条件の判定が塗りつぶし範囲内だった時、trueを返します。範囲外だった場合はfalseです。
let number = 10
// 「条件a && 条件b」
if number >= 5 && number <= 15 { // ⬅︎ 判定true どちらも当てはまる
print("numberは5以上、かつ15以下です")
}
if number >= 5 && number >= 11 { // ⬅︎ 判定false どちらかが当てはまらない
print("numberは5以上、かつ11以上です")
}
// 「条件a || 条件b」
if number >= 5 || number >= 15 { // ⬅︎ 判定true どちらかが当てはまる
print("numberは5以上、または15以下です")
}
if number >= 5 || number >= 11 { // ⬅︎ 判定true どちらかが当てはまる
print("numberは5以上、または11以上です")
}
[コード実行結果]
特に論理積と論理和に慣れないうちは真偽の判定基準がややこしく感じるかもしれませんね。
・「&&」は、どちらの条件にも当てはまっている必要があるためtrue判定は狭い
・「||」は、どちらかの条件に当てはまっていれば良いのでtrue判定は広い
といった考え方から馴染ませていけば良いかと思います。
以上、今回はif文についてお話しました!
要点をおさらいしておきましょう。
if文が扱えるようになると、普段から使っているアプリケーションの様々な機能が条件分岐によって表現されていることがわかるでしょう。
ぜひif文を使いこなして、アプリ開発に役立てていただければと思います!
\ SHARE /
アプリ開発が学べる勉強会を開催中!
CodeCandyではアプリ開発を学ぶための勉強会を定期開催しています。
学習する習慣を身につけたい、他の参加者と作業したい、アプリ開発の基本をマスターしたい、という方のために無料で学べる勉強会です。
グループにメンバー登録して頂くと、イベント開催時にメールで通知されます。
徹底した基礎学習からマスターするiPhoneアプリ開発集中オンライン講座開講!
本書「iPhoneアプリ開発集中講座」を執筆している現役エンジニア講師陣が直接に指導!
基礎、課題実習で実践力を鍛えて、オリジナルアプリ公開までチャレンジ!
充実した転職支援もあるので、エンジニアへ転職したい人にもおすすめです!
まずは、現役エンジニアに相談できる無料相談をご利用ください。
2022年2月よりSwift学習を始め、4月からiOSアプリ開発オンラインスクール「CodeCandy」にてアプリ開発を学ぶ。 2023年10月に個人開発アプリ「unico」をリリース。現在はアプリの機能アップデートをしながら、スクール運営の技術ブログの執筆や、出版書籍の入稿チェック・デバッグにも携わる。