
うーむ、前回は値の比較などを学んだけどどんなところで使うんだろう。



比較演算子などでできた式はさまざまな構文に組み込むことが多いんだ!そのうちのひとつ「if文」について解説していくよ!



ifって「もしも」って意味だよね?Dartではどんな意味を持つんだろ。
ここではDart言語におけるif文、if-else文について解説していきます!前回の記事はこちら!
プログラムの構造



Dart言語に限らずだけど、プログラミングは3つの制御構造から成り立ってるんだ、わかるかな?



わかんない!



…。
プログラムは基本的に「順次」「分岐」「繰り返し」の構造の組み合わせからなっています。詳しくはこちらの記事もご覧ください!



if文は、この「分岐」を表現するものだよ。
【Dart】if文とは
if文とは、「もしも〇〇だったら、△△をする」という表現ができるプログラミングの書き方です。



もしお金がたんまりあったら、高級焼き肉店に行く!
if文をDart言語で書く場合、このように書きます。
if(条件式){
// ここに処理を書く
}
条件式のところにはtrueかfalseが入ります。trueの場合中かっこ{}の中の処理が実行されます。falseなら実行されません。
図にするとこのような流れになります。


【Dart】if文の書き方
実際にif文を書いてみましょう!





このプログラムの結果はわかるかな?



8は3より大きいね。ということは結果はtrueになり、if文の中の「if文の中を通過!」という文が表示されるのかな?



そう!条件式はそれが正しければtrueを返すから、この場合は中を通過するね!
【Dart】if-else文とは、その書き方



条件を満たさなかった場合も何か処理できれば便利なんだけどなぁ。



そんな時はelse文!もし〇〇なら△△、そうでなければ□□、という表現ができるよ!
if-else文を使うと最初の条件を満たさなかったとき(条件式の結果がtrueでなかったとき)に実行したい処理も記述することができます!
書き方はこのようになります。
if(条件式){
// 条件を満たしたときに実行する処理
}else{
// 条件を満たさなかったときに実行する処理
}
流れを図にするとこのようになります。





さあさあ具体例を見せてちょうだいな!
例としてはこのように書けます。





aは5が入っていて、bには8が入っているね。aはbより小さい、つまり条件式は間違っているから上の中かっこのprint文は実行されないのかな。



そう!条件式の結果はfalseだから上の中かっこの中は実行されず、else文の方の処理が実行されるんだ!



つまり「aはbより大きくない」って表示されるんだね!
【Dart】else-if文とは、その書き方
もし〇〇なら△△、そうでなく●●なら□□、そうでなければ~…と複数のif文をつなげることもできます!
if(条件式A){
// 条件式Aを満たしたときに実行する処理
}else if(条件式B){
// 条件式Aを満たさず、条件式Bを満たしたときに実行する処理
}else{
// どの条件式も満たさなかったときに実行する処理
}
図解するとこのような形になります。





よくわからん!そういう時は具体例だよね!
それでは具体例を挙げて見てみましょう。





1つめと2つめの条件は満たさず、3つめの条件はあてはまるから「aとbは等しい」が表示されるのかな?



その通り!上から順番に条件を見ていく流れになるね!
条件分岐で処理の流れを変えよう!



if文を使いこなせたらプログラムの幅がいっきに広がる気がするね!



そうだね!if文は条件分岐によく用いる構文だからしっかりマスターしていこう!



もし私がif文を理解できたら、私はDartマスターだ!
■参考書籍
コメント