1-3 if文やswitch文を使用した条件分岐

条件を分岐する処理には、if や switch が使えます。

if による条件分岐

  • if 文は条件に基づいてコードブロックを実行するために使用されます。
  • if 条件が true の場合、指定されたコードが実行されます。
  • 任意で else 句を使用して、条件が false の場合の処理を指定することもできます。

if の構文

if 条件1 {
    // 条件1が true のときの処理
} else if 条件2 {
    // 条件2が true のときの処理
} else {
    // どの条件にも一致しない場合の処理
}

このように、if文は、条件によって、実行する処理を分岐することができます。

是非、実際に操作しながら学んでいきましょう。
以下でSwiftのブラウザ実行環境が使えます。 numberの値を変更したりして、print()で出力される文字を確認してみましょう。
https://online.swiftplayground.run/

let number = 7

if number == 5 {
    print("number は 5 です")
} else if number == 10 {
    print("number は 10 です")
} else {
    print("number は それ以外です")
}
let number = 7

if number < 10 { // 10 未満
    print("number は 10 未満 です")
} else {
    print("number は それ以外です")
}

switch による条件分岐

  • switch文は、複数の条件に基づいてコードを実行するために使用されます。
  • case句を使用して各条件を定義し、一致する条件があると該当するコードが実行されます。
  • default句を使用して、どの条件にも一致しない場合のデフォルトのコードを指定することができます。

switch の構文

switch 値や式 {
case 条件1:
    //  条件1に一致する処理
case 条件2:
    // 条件2に一致する処理
default:
    // どの条件にも一致しない場合の処理
}

このように、switch文もif文と同様に、条件によって、実行する処理を分岐することができます。

let number = 7

switch number {
case 5:
    print("number は 5 です")
case 10:
    print("number は 10 です")
default:
    print("number は それ以外です")
}
let number = 7

switch number {
case 0..<10: // 10 未満
    print("number は 10 未満 です")
case 20...30: // 20 から 30 までの範囲です
    print("number は 20 ~ 30 です")
default:
    print("number は それ以外です")
}

おっと、難しくなってきましたね。

swiftでは、特定の範囲を、「…」 のような記号で表現することができます。

この記号のことを、範囲演算子といいます。

1…101から10までの範囲(10を含む)
..<100から9までの範囲(10を含まない
20…3020から30までの範囲(30を含む)
..<50から4までの範囲(5を含まない)
100..<110100から109までの範囲(110を含まない)
5…5-5から5までの範囲(5を含む)
0..<0空の範囲

ふむふむ。swiftには、「範囲演算子」というものがあるのですね。実は、プログラミングにおいて、他にも大事な演算子がたくさんあります。

以下の記事にまとめたので、よかったら参考にしてください。

break

Swiftでは各case節やdefault節に何か1行以上処理が書いてないと文法エラーになります。

たとえば、defaultで特に実行したい処理がない場合、以下のプログラムはエラーになります。

let number = 7

switch number {
case 5:
    print("number は 5 です")
case 10:
    print("number は 10 です")
default:
    // 何も実行しない
}

switch文の実行を終了させる、breakを使用しましょう。

let number = 7

switch number {
case 5:
    print("number は 5 です")
case 10:
    print("number は 10 です")
default:
    break
}

break ステートメントは、switch文内の実行を終了し、そのswitch文から抜け出すために使用されます。

まとめ

  • 条件分岐を行いたい時は、if や switch が使用できる
  • 範囲演算子を使用して、特定の範囲を指定することができる

ドリル

問題1

let score = 85

switch score {
case 90...:
    print("成績は優秀です")
case 70..<90:
    print("成績は合格です")
default:
    print("成績は不合格です")
}