8.制御構文(if文)

制御構文とは
  • 条件による分岐処理
  • くりかえしを行う処理

ここでは制御構文の中でも条件による分岐処理を扱っていきます。

if文 

if Bool{
    Boolの判定がtrueのときにここの処理が行われる
}

Boolで判定が行われ、trueの場合{}の中の処理が行われます。

Boolの判定でfalseの場合、{}の処理は行われずに無視され次の行に移ります。

if true{
    print("正解!")
}
if false{
    print("残念!")
}

判定でtrueの場合はfalseの{}は無視され、正解!とプリントされます。

注目

{}内の記述は読みやすさのためにインデント(字下げ)をつけます。

空白4つを入力するかタブ文字を使います。

let score = 80
if score == 100{
    print("満点")
}
if score >= 60{
    print("合格")
}
if score < 60{
    print("不合格")
}

この場合、scoreは80なので合格と表示されます。

おさらい

前回の比較演算子の復習

a == b aがbと等しいときはtrueちがうならfalse

a >= b aがb以上ならtrueちがうならfalse

a < b aがb以下ならtrueちがうならfalse

ただしif文を重ねると長くなってしまうので短縮したのがこちら

if-else文

if ①Bool{
    ①がtrueの場合この処理が行われる
}else{
    ①がfalseの場合この処理が行われる
}

①の命題がtrueの場合はelse前の処理が、falseの場合はelse以降の処理が行われます。

let n = 10
if n > 5{
    print("nは5よりも大きい")  
}else{
    print("nは5よりも小さい")
}

nは10です。5より大きいのでelse前の“nは5よりも大きい”がプリントされます。

この場合、else以降の“nは5よりも小さい”の処理は無視されます。

さらにこのelseの部分で別の判定をすることもできる

if-else if-else文

if ①Bool{
    ①がtrueのときこの処理が行われる
}else if ②Bool{
    ①がfalseのとき②の判定が追加されtrueの場合はこの処理が行われる
}else{
    ①がfalseのとき②もfalseのときにこの処理が行われる
}
let score = 80
if score == 100{
    print("満点")
}else if score >= 60{
    print("合格")
}else{
    print("不合格")

この場合、scoreは80なので合格がプリントされます。

おさらい

今回扱った制御構文はこの3つ

  1. if文
  2. if-else文
  3. if-else if-else文
9.制御構文2 (for文)9.制御構文2 (for文)