ゼロから学ぶJava
トップ/条件分岐
条件分岐14章 / 全26

if文の基本

この章で学ぶこと

「もし〜なら〜する」という条件によって処理を変える if 文を学びましょう。

状況に応じて動きを変えたい

これまでのプログラムは、どんな値でも同じ動きをしていました。でも「点数が80点以上なら合格と表示する」「在庫がなければ売り切れと表示する」のように、状況によって動きを変えたい場面がたくさんあります。

それを実現するのが if 文です。

if文を実際に動かしてみよう

点数が 85点 のとき。

text
1合格です!
2処理を終了します

点数が 60点 のとき。

text
1処理を終了します
java
1public class Main {
2 public static void main(String[] args) {
3 int score = 85;
4
5 if (score >= 80) {
6 System.out.println("合格です!");
7 }
8
9 System.out.println("処理を終了します");
10 }
11}
  • if (score >= 80) { → 「85は80以上か?」→ true なので { } の中を実行
  • System.out.println("合格です!"); → 条件が true なので実行される
  • System.out.println("処理を終了します");{ } の外なので条件に関係なく必ず実行される

score を60に変えると「合格です!」はスキップされ、「処理を終了します」だけが表示されます。

複数の条件を &&|| で組み合わせることもできます。

java
1int age = 20;
2boolean hasTicket = true;
3
4if (age >= 18 && hasTicket) {
5 System.out.println("入場できます");
6}

ポイント

if (条件) { 処理 } という形で書きます。条件が true のときだけ { } の中が実行されます。

よくあるミス

条件に =(代入)を使ってしまう

if (score = 80) のように = を1つだけ書くとエラーになります。条件の中で比べるときは必ず ==(2つ)を使いましょう。

まとめ

  • if (条件) { 処理 } で条件分岐を書く
  • 条件が true のとき { } の中が実行される
  • 条件が false のとき { } の中はスキップされる
  • { } の外に書いた処理は条件に関係なく実行される

確認問題

if文の条件が false のとき、どうなりますか?