はじめに
プログラミングを始めると、必ず登場するのが「if 文」です。
if 文は“条件によって処理を変える”ための仕組みで、Java に限らずほとんどの言語で使われるとても重要な文法です。
例えば、「点数が80点以上なら合格にする」「残り時間が0ならゲームオーバーにする」といったように、プログラムの判断基準を作りたいときに欠かせません。
この記事では、Java の if 文を初めて学ぶ方でも理解しやすいよう、基本の書き方から実際の例、エラーでつまずきやすいポイントまで丁寧に解説していきます。
読み終わる頃には、if 文を使って“条件によって動くプログラム”を書けるようになります。
if 文の基本構文
基本構成
まずは、Java の if 文がどのように書かれるのか、もっともシンプルな形から見ていきましょう。
if (条件式) {
// 条件式が true(真)だった場合に実行される処理
}
if 文が行っていることは、とてもシンプルです。
- 「条件式」を評価する
- 結果が true なら中の処理を実行する
- false なら中の処理はスキップする
つまずきポイント!
初心者がよくつまずくポイントとして、「= と == の違い」があります。
=は代入(値を入れる)==は比較(等しいかどうか調べる)
この違いを理解していないと、意図しない動きをする原因になります。
if文の使用例
if 文は、「条件によって処理を切り替えたい」ときに使います。ここでは else と else if を含めた、よくあるパターンを紹介します。
基本的な if / else の例
条件に合わなかった場合の処理を追加したいときは、else を使います。
int score = 75;
if (score >= 80) {
System.out.println("合格");
} else {
System.out.println("不合格");
}
score が 80 以上なら「合格」、それ以外なら「不合格」と表示されます。
条件が複数ある場合(else if)
複数の条件を順番にチェックしたいときは else if を使います。
int score = 65;
if (score >= 80) {
System.out.println("優秀");
} else if (score >= 60) {
System.out.println("合格");
} else {
System.out.println("不合格");
}
上から順番に条件をチェックしていき、最初に true になった部分だけが実行されます。
偶数・奇数を判定する例
int num = 11;
if (num % 2 == 0) {
System.out.println("偶数です");
} else {
System.out.println("奇数です");
}
% は「割ったあまり」を求める演算子で、
2 で割って余りが 0 なら偶数、1 なら奇数です。
比較演算子・論理演算子の基本
if 文を使うときに欠かせないのが 比較演算子 と 論理演算子 です。
比較演算子(値同士を比べる)
| 演算子 | 意味 | 例 |
|---|---|---|
== | 等しい | 5 == 5 → true |
!= | 等しくない | 5 != 3 → true |
> | より大きい | 7 > 5 → true |
< | より小さい | 3 < 10 → true |
>= | 以上 | 10 >= 10 → true |
<= | 以下 | 8 <= 9 → true |
初心者は特に 「=」と「==」の違いでつまずきやすいので要注意です。
論理演算子(複数の条件を組み合わせる)
| 演算子 | 読み方 | 意味 |
|---|---|---|
&& | かつ(AND) | 2つの条件が両方 true |
| <code>||</code> | または(OR) | どちらかが true |
! | 否定(NOT) | true を false にする |
例:年齢が 18 歳以上 かつ 会員登録済みなら入場できる
int age = 20;
boolean isMember = true;
if (age >= 18 && isMember == true) {
System.out.println("入場できます");
}
if 文を書くときの注意点・よくあるエラー
if 文は簡単に見える分、初心者がつまずきやすいポイントもあります。ここではよくあるミスと改善方法を紹介します。
「=」と「==」の書き間違い
× 間違い例(代入になってしまう)
if (score = 80) { // エラーになる
○ 正しい例(比較)
if (score == 80) {
ブロック {} を省略してバグになる
if (score >= 60)
System.out.println("合格");
System.out.println("おめでとう!"); // ← if と無関係に実行される
見た目では if の中に見えますが、実際には別の処理です。
初心者のうちは必ず {} を付けましょう。
条件の順番が不適切
if (score >= 60) {
System.out.println("合格");
} else if (score >= 80) { // ← ここは永遠に実行されない
System.out.println("優秀");
}
順番が逆になっている典型的な例です。
大きい方から順に書く、などルールを決めると良いです。
ネスト(if の中に if)で読みづらくなる問題
if (age >= 18) {
if (isMember) {
System.out.println("入場できます");
}
}
数が多くなるほどコードが読みにくくなります。
※1日おいたあとで再度確認したときに、ぱっと見でわかるようぐらいにしましょう。
まとめ
まとめ
この記事では、Java の if 文について、基本の書き方から複雑な条件の扱い方、よくあるエラーまで幅広く紹介しました。
if 文はプログラミングを学ぶ上で必ず使う重要な文法なので、ぜひ実際に手を動かしながら理解を深めてみてください。
語録集
条件式
true / false のどちらかになる式のこと。
例:score >= 80
true / false(真偽値)
条件が正しい → true
条件が間違い → false
比較演算子
値を比べるための記号。==, !=, >, < など。
論理演算子
複数の条件を組み合わせるための記号。&&, ||, !
ブロック {}
処理のまとまりを表すカッコ。
if 文やメソッドの中身を囲む。
ネスト
if の中に if を書くこと。深くなるほど読みにくくなる。

コメント