【Swift入門】Swift文法を楽しく理解しよう - 条件分岐



【Swift入門】Swift文法を楽しく理解しよう - 条件分岐

アプリ開発の時によく使う「スイッチボタン」。
このスイッチボタンを操作する上で欠かせない Swift文法が『条件分岐』の if文。
今回は Swift の基本的な if文についてご紹介します。

本稿で使用する Swift のバージョン: Swift 4.1

目次
  1. 【Swift入門】Swift文法を楽しく理解しよう - 条件分岐
  2. 条件分岐とは
  3. if文
  4. if else 文
  5. if else if 文
  6. if else if else 文
  7. switch文
  8. while文
  9. for if 文
  10. まとめ

【Swift入門】Swift文法を楽しく理解しよう - 条件分岐

条件分岐とは

image

条件分岐、というと難しい印象を持つかもしれませんが、条件分岐は毎日私達の頭の中で処理されている工程になります。

例えば明日の服装を考えた時、

  • 「もし雨が降っていたらブーツでいこう」
  • 「雨じゃなかったらスニーカーでいこう」

当たり前のことかもしれませんが、これが条件分岐です。もし雨だったらブーツ、そうじゃなかったらスニーカー、これは天候の条件によってブーツかスニーカーか考えています。

このことをアプリ処理に例えると

  • 「スイッチボタンが ON だったら ON を表示」
  • 「スイッチボタンが ON じゃなかったら OFF を表示」

といった感じ。

上記画像のコード

実際に条件分岐が使われている例としては、

  • 健康管理アプリ(BMI値によって表示を変える)
  • テストアプリ(正解の場合は○、間違っていればコメント)
  • ゲームアプリ(1000点以上ならこの画像表示)
  • SNSアプリ(ログイン時、パスワードが違っていたらこのコメント) など

このように条件分岐を知っておけば、様々なアプリ開発で役立ちそう。それではいくつかの条件分岐の使い方をご紹介させて頂きますね。

if文

image

var battery = 10
if battery <= 20{
    print("Low Battery")
}

image

一番基本的な条件分岐は、一つの値が条件に当てはまるかどうかをチェックする方法。

上記コードは、バッテリーが 20以下だったら 「Low Battery」 と表示するプログラム。20以上の場合は何も表示されません。

if else 文

image

var battery1 = 30
if battery1 <= 20{
    print("Low Battery")
}
else {
    print("Battery OK!")
}

image

先ほどの if文では、条件に合わなかった場合何も出力されなく、物足りないと感じた方も多いと思います。この問題は、 if else文で解決。もし if文の条件に合わなかった場合は else文を実行。上記例では if の条件には合わないので 「Battery OK!」 が出力されるでしょう。

if else if 文

image

var battery2 = 4
if battery2 <= 10{
    print("Battery 10% 以下、やばっ")
}
else if battery2 <= 20{
    print("Battery 20% よ")
}

image

こちらは 2段階の条件分岐を設定した場合のパターン。上記コードを日本語に訳すと

もしバッテリーが 10以下だったら「Battery 10% 以下、やばっ」だけど、そうではなくてバッテリーが 20以下だったら「Battery 20% よ」、それ以外は なにも無し

という感じです。健康チェック系のアプリ処理などに使えそうな条件分岐の処理工程でしょう。

ちなみにこのケースの条件分岐のフローは値の小さい方が先で、間違って値の大きい方が先にくると後の if文

battery2 <= 10

が処理されません。

image

if else if else 文

image

var battery3 = 62
if battery3 <= 10{
    print("Battery 10% 以下、やばっ")
}
else if battery3 <= 20{
    print("Battery 20% 以下よ")
}
    else {
        print("Battery OK!")
    }

image

こちらは先ほどの if else if 文の何の条件にも当てはまらなかった場合でも、特定処理を行うための文になります。

switch文

image

if else if else文の様に条件が何段階にもなってくると、ちょっとコード量が多くなり処理が分かりにくいですよね。この問題は switch文 を使うと解決できます。

var number = 2
switch number {
case 0:
    print("月曜日")
case 1:
    print("火曜日")
case 2:
    print("水曜日")
case 3:
    print("木曜日")
case 4:
    print("金曜日")
default:
    print("")
}

image

switch文を使う場合は、まず分岐結果を case で記述。あとは変数の入力値によって case が決まり、処理される、という流れです。上記例では 変数 number が case 2 とマッチするので 『水曜日』 が表示されます。

while文

image

while文というと繰り返し処理ですが、 比較演算を用いた場合、条件分岐も実行可能。

var x = 0
while x < 10 {
    print(x)
    x = x + 1
}

image

こちらは変数 x が、 1づつ足されるプログラムで 10以下まで繰り返し処理。 『 x が 10 に達するまで演算処理』、 という部分が条件分岐と言えるでしょう。

for if 文

image

こちらも繰り返し処理で有名な for文ですが、 if文を組み合わせると複雑な処理も可能に。

例えば、 1から7までの 2の倍数にそれぞれ 1〜5 をかけるという演算処理。自分で計算しようと思うとチョット大変ですが、以下のように書くと一瞬で処理可能。

for x in 1...7{
    if x % 2 == 0 {
        for n in 1...5 {
            print(x*n)
        }
    }
}

image

まとめ

プログラムの条件分岐は、人間の思考回路にも似ていますので押さえておきたい基本文法ですね。

今回 Swiftのサンプルコードも紹介させて頂きましたが、「XCodeでのSwift実行方法がわからない」「条件分岐以前に変数ってナニ?」という方はプログラミングスクールの CodeCamp を頼ってみませんか? オンライン × マンツーマンで Swift 学習もはかどると思いますよ。

オシママサラ
この記事を書いた人
オシママサラ
\ 無料体験開催中!/自分のペースで確実に習得!
オンライン・プログラミングレッスンNo.1のCodeCamp