プログラムが「賢く」なるのは、状況に応じて処理を変えられるからです。その仕組みが条件分岐、つまりif文です。今日は60分で、if文の書き方を学び、点数によって評価を出し分けるプログラムを作ります。時間配分の目安は、説明15分、実践30分、振り返り15分です。昨日学んだ比較・論理演算子を使うので、忘れていたら軽く見返しておきましょう。
if文とは(目安12分・インプット)
if文は「条件が成り立つときだけ処理を実行する」仕組みです。基本形は次の通りで、条件にはboolean(比較や論理の結果)を書きます。
if (条件) {
// 条件が真のときの処理
} else if (別の条件) {
// 上が偽で、こちらが真のときの処理
} else {
// どれも偽のときの処理
}
`else if` は必要な数だけ並べられ、`else` は省略もできます。条件は上から順に評価され、最初に真になったブロックだけが実行されます。
【実践】点数判定プログラムを作る(目安30分・手を動かす)
`Grade.java` を作り、点数に応じて評価を表示してみましょう。
public class Grade {
public static void main(String[] args) {
int score = 75;
if (score >= 80) {
System.out.println("評価: A");
} else if (score >= 60) {
System.out.println("評価: B");
} else {
System.out.println("評価: C");
}
}
}
`score` の値を90や50などに変えて実行し、それぞれ違う評価が出ることを確認してください。確認できたら演習です。ある数が偶数か奇数かを判定するプログラムを書いてみましょう。ヒントは、`if (score % 2 == 0)` が真なら偶数、という点です。Day3で学んだ `%`(余り)が役立ちます。
よくある疑問・つまずきポイント
**条件で = を1つだけ書いてエラーになります。**
比較は `==`(イコール2つ)です。`=` は代入なので条件には使えません。
**波かっこ {} の閉じ忘れが多いです。**
`if` ごとに `{` と `}` が対になっているか確認しましょう。
**思った分岐に入りません。**
`else if` は上から順に判定されます。範囲の広い条件を先に書くと、後ろの条件に届かないことがあるので順序に注意します。
まとめ(目安13分)
今日はif文で処理を分ける方法を学び、点数の判定プログラムを動かしました。条件によって動きが変わる、プログラムらしい動作を作れるようになりました。明日は、同じ処理を何度も行う「繰り返し(for文・while文)」に進みます。

コメント