Javaのif文とは?条件分岐を初心者向けに解説

本記事は、Schooの「Java入門 初級【2026年版】」第3回「条件分岐・論理演算子」を学んだあとに、Javaのif文を手を動かしながら理解したい方向けのステップアップ学習記事です。
ただし、Schooを受講していない方でも、Javaの基本を学び始めたばかりであれば読み進められる内容にしています。
Schoo コースページ:Java入門 初級【2026年版】
if文は、「条件を満たしたときだけ処理を実行する」ための書き方です。Javaのプログラムは、上から順番に実行されるだけではありません。点数が合格ライン以上なら合格、そうでなければ不合格のように、条件によって動きを変えられます。
if文は条件式がtrueのときに動く
まずは、点数を見て合格か不合格かを表示する小さなプログラムで確認します。
ファイル名: ScoreCheck.java
public class ScoreCheck {
public static void main(String[] args) {
int score = 85;
if (score >= 70) {
System.out.println("合格です!");
} else {
System.out.println("残念、不合格です。");
}
System.out.println("判定が完了しました。");
}
}
実行結果
合格です! 判定が完了しました。
score >= 70 は、「scoreが70以上か」を調べる条件式です。score が85なので、この条件式は true になります。そのため、ifのブロックにある System.out.println("合格です!"); が実行されます。
elseは条件を満たさなかったときの処理
次に、点数を変えてみます。score を60にすると、score >= 70 は false になります。
ファイル名: ScoreCheck.java
public class ScoreCheck {
public static void main(String[] args) {
int score = 60;
if (score >= 70) {
System.out.println("合格です!");
} else {
System.out.println("残念、不合格です。");
}
System.out.println("判定が完了しました。");
}
}
実行結果
残念、不合格です。 判定が完了しました。
if文では、条件式が true のときはif側、false のときはelse側が実行されます。どちらの場合でも、if文のあとにある System.out.println("判定が完了しました。"); は共通で実行されます。
if文の動きをその場で確認する
点数や合格ラインを変えると、条件式の結果と実行されるブロックが変わります。次のツールで、score >= passLine が true になるか false になるかを確認してみましょう。
条件を変える
条件式がtrueなので、ifの中の処理が実行されます。
Javaではこう読む
85 >= 70 は true
if側が実行されます。 表示: 合格です!
条件式は比較演算子で書く
if文のかっこの中には、true または false になる式を書きます。点数の判定では、比較演算子を使うことが多いです。
| 条件式 | 読み方 | 例 |
|---|---|---|
score >= 70 | scoreが70以上 | 合格ライン以上かを見る |
score < 70 | scoreが70未満 | 合格ラインに届かないかを見る |
score == 100 | scoreが100と等しい | 満点かを見る |
score != 0 | scoreが0ではない | 0点以外かを見る |
Javaで「等しい」を調べるときは = ではなく == を使います。= は代入に使う記号なので、条件式では混同しないようにします。
よくあるつまずき
条件式の向きを逆に読んでしまう
score >= 70 は、「scoreが70以上」です。70 <= score と書いても意味は同じですが、初学者のうちは「調べたい変数を左に置く」と読みやすくなります。
if文のあとも実行されることを忘れる
if側とelse側のどちらかが実行されたあと、プログラムはif文の次へ進みます。そのため、共通で表示したいメッセージはif文の外に書きます。
波かっこの範囲を見失う
{ から } までが、条件を満たしたときに実行される範囲です。Eclipseでは対応する波かっこを強調表示できるため、どこまでがifの中かを確認しながら読みます。
自分で試す練習
次のコードの score や条件式を変えて、表示がどう変わるかを確認してみましょう。
ファイル名: ScoreCheck.java
public class ScoreCheck {
public static void main(String[] args) {
int score = 85;
if (score < 85) {
System.out.println("要補習");
} else {
System.out.println("通常学習で進めます");
}
}
}
score を84、85、100に変えると、どちらのメッセージが表示されるでしょうか。条件式の < と <= の違いも試してみると、境目の読み方が見えやすくなります。
確認問題
int score = 85;のとき、score >= 70はtrueとfalseのどちらになりますか。ifの条件式がfalseになったとき、elseがある場合はどちらのブロックが実行されますか。score == 100とscore = 100の違いを説明してください。System.out.println("判定が完了しました。");をif文の外に書くと、合格・不合格のどちらの場合に実行されますか。
演習後の確認:こちらのページを使って、自分で考えた内容を見直せます。先に手を動かしてから確認することをおすすめします。
あわせて読みたい関連記事
- Javaの変数・配列・Scanner入力とは?初学者向けに関係を整理
- Javaの変数エラーはなぜ起きる?型・リテラル・変数名を初心者向けに解説
- Javaのコンパイルエラーの読み方:初心者が最初に確認するポイント
まとめ
if文は、条件式が true のときだけ特定の処理を実行するための書き方です。else を使うと、条件を満たさなかった場合の処理も書けます。
最初は、条件式を日本語に直して読むことが大切です。score >= 70 なら「scoreが70以上」、score == 100 なら「scoreが100と等しい」と読みます。点数を少し変えながら実行結果を見ると、if文の動きがつかみやすくなります。