制御構文とは
- 条件による分岐処理
- くりかえしを行う処理
ここでは制御構文の中でも条件による分岐処理を扱っていきます。
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つ
- if文
- if-else文
- if-else if-else文