HOME > プログラミング > 条件分岐 > もし~なら●する

if else条件分岐 もし~なら●する

 

判断をする万能な分岐命令
条件を指定して条件を満たすときとそうでないときで次に行う処理を分岐します。
条件を満たしていることを(true)、満たしていないことを(false)と表現します。
条件は簡単なものから複雑なものまで組むことができます。
条件分岐の書き方は2通りあります。
短縮形を使うときは極力短く書けるときのみに使い、基本的には展開形を使うことをお勧めします。


 

もし~なら●●する
指定条件を満たすときだけ真の処理に移る分岐の場合。
if 条件式 : 真の処理
※条件分岐以降の章より構文説明表記の「半角スペース」(space)は省略します。

今日が土曜日なら「土曜日です。」と表示する(短縮形の書き方)
if gettime(2) == 6 : mes "土曜日です。"

1行に書くと長くなることがあるので、展開形で書くことができます。
if 条件式{
  真の処理
}

今日が土曜日なら「土曜日です。」と表示する(展開形の書き方)
if gettime(2) == 6{
	mes "土曜日です。"
}

命令名:if「もし」
条件式:gettime(2) == 6「今日の曜日(gettime(2))が土曜日(6)だったら」
真の処理:mes"土曜日です。"「土曜日です。を表示する」
短縮形について
展開形について


 

もし~なら●●する、そうでなければ○○する
指定条件を満たすとき真の処理に移り、違うとき偽の処理に移る分岐の場合。
if 条件式 : 真の処理 : else : 偽の処理

今日の曜日が土曜日なら「土曜日です。」と表示、
そうでないとき「土曜日ではありません。」と表示する(短縮形の書き方)
if gettime(2) == 6 : mes "土曜日です。" : else : mes "土曜日ではありません。"

1行に書くと長くなることがあるので、展開形で書くことができます。
if 条件式{
  真の処理
}else{
  偽の処理
}

今日の曜日が土曜日なら「土曜日です。」と表示、
そうでないとき「土曜日ではありません。」と表示する(展開形の書き方)
if gettime(2) == 6{
	mes "土曜日です。"
}else{
	mes "土曜日ではありません。"
}

命令名:if「もし」
条件式:gettime(2) == 6「今日の曜日(gettime(2))が土曜日(6)だったら」
真の処理:mes"土曜日です。"「土曜日です。を表示する」
命令名:else「そうでなければ」
偽の処理:mes"土曜日です。"「土曜日ではありません。を表示する」


 

もし~なら●●する、そうでなければもし~~なら○○する
指定条件Aを満たすとき真の処理Aに移り、
違うときは改めて指定条件Bを満たすときに真の処理Bに移る分岐の場合。
if 条件式A : 条件式Aが真の処理 : else : if 条件式B : 条件式Aが偽で条件式Bが真の処理

今日の曜日が土曜日なら「土曜日です。」と表示、
そうでないとき、今日の曜日が日曜日なら「日曜日です。」と表示する(短縮形の書き方)
if gettime(2) == 6 : mes "土曜日です。" : else : if gettime(2) == 0 : mes "日曜日です。"

1行に書くと長くなることがあるので、展開形で書くことができます。
if 条件式A{
  条件式Aが真の処理
}else : if 条件式B{
  条件式Aが偽で条件式Bが真の処理
}

今日の曜日が土曜日なら「土曜日です。」と表示、
そうでないとき、今日の曜日が日曜日なら「日曜日です。」と表示する(展開形の書き方)
if gettime(2) == 6{
	mes "土曜日です。"
}else : if gettime(2) == 0{
	mes "日曜日です。"
}

命令名:if「もし」
条件式A:gettime(2) == 6「今日の曜日(gettime(2))が土曜日(6)だったら」
条件式Aが真の処理:mes"土曜日です。"「土曜日です。を表示する」
命令名:else「そうでなければ」
命令名:if「もし」
条件式B:gettime(2) == 0「今日の曜日(gettime(2))が日曜日()だったら」
条件式Aが偽で条件式Bが真の処理:mes"日曜日です。"「日曜日です。を表示する」


 

展開形の書き方とインデント
展開形は、複数行を使って分岐処理を書きます。
if命令と条件式を書いた後、真の時、偽の時の処理の両端に「{}(波カッコ)」で囲います。
波カッコの中に書く真偽の処理は1段字下げして書きます。
字下げをすることで真の時、偽の時のみ処理される部分を把握、読みやすくするための工夫です。
また、複数行で書いたときの波カッコの閉じ忘れなども、字下げのラインを確認することで把握しやすくなります。

インデントの説明
if 条件を書いていくところ{
	//真の時の処理を書いていくところは字下げ
	mes "条件と同じ"
	mes "条件の範囲内"
}else{
	//偽の時の処理を書いていくところは字下げ
	mes "条件と異なる"
	mes "条件の範囲外"
}


 

入れ子(ネスト)
条件式に満たしたとき、満たさないときに書く処理の中にさらに条件を書くことができます。
このことを入れ子(ネスト)と言います。

偽の時の処理の中に条件分岐を書く例
if gettime(2) >= 1 && gettime(2) <= 5{
	//真の時の処理を書いていくところ
	mes "平日です。"
}else{
	//偽の時の処理を書いていくところ
	mes "休日です。"
	if gettime(2) == 0{	//偽の時の処理の中でさらに条件分岐が書ける
		mes "日曜日です。"
	}else{
		mes "土曜日です。"
	}
}

当サイトコンテンツの複写・転載・引用は禁止しております。