はじめに:if文って何?なぜ重要なの?
プログラミング学習の第一歩として「条件分岐」は欠かせません。たとえば…
- 成績が合格点以上なら「合格」、それ以下なら「不合格」と表示したい
- 今日が土曜日なら「おやすみ」と表示し、そうでなければ「今日は平日」と知らせたい
- ユーザーがボタンを押したら処理を開始し、押されなければ待機したい
このような場合、「もし~なら~する」といった判断をJavaでは if文 を使って処理します。
「条件に応じて処理を変える」ための基礎であり、これができればプログラムの表現力が格段に高まります。
本記事では、初心者向けにif文の基本から順に丁寧に解説し、段階的にステップアップする構成になっています。最後まで読み進めれば、実践でも即活用できる力がつきます。
1. Javaのif文 基本の書き方
1‑1. 構文のルール
1 |
if (条件式) {<br> 処理内容;<br>}<br> |
条件式
が 真(true) なら{}
内の処理内容
が実行されます条件式
が 偽(false) なら、if
内は一切実行されません
1‑2. 例:数値判定
1 |
int num = 15;<br><br>if (num > 10) {<br> System.out.println("10より大きい数です");<br>}<br> |
このコードでは num > 10
が真なので "10より大きい数です"
が出力されます。条件が偽なら何も起こりません。
2. if‑else 文で2つの場合に対応する
場合分けして処理を切り替えたいなら else
を追加します。
1 |
if (条件式) {<br> // 条件が true のとき<br>} else {<br> // 条件が false のとき<br>}<br> |
2‑1. 例:偶数・奇数判定
1 |
int num = 7;<br><br>if (num % 2 == 0) {<br> System.out.println("偶数です");<br>} else {<br> System.out.println("奇数です");<br>}<br> |
num % 2 == 0
が真なら「偶数です」、偽なら「奇数です」と表示されます。
3. else if で複数条件に対応
複数の選択肢をチェックしたい場合は、else if
を使いましょう。
1 |
if (number > 0) {<br> System.out.println("正の数です");<br>} else if (number == 0) {<br> System.out.println("0です");<br>} else {<br> System.out.println("負の数です");<br>}<br> |
このように書くと「正」「0」「負」の三通りを判定可能です。
4. 論理演算子で複雑な条件にも対応
Javaには以下の論理演算子があります:
&&
:AND(両方とも真なら真)||
:OR(どちらか一方が真なら真)!
:NOT(真偽を反転)
4‑1. 例:年齢範囲チェック
1 |
int age = 25;<br><br>if (age >= 20 && age < 30) {<br> System.out.println("20代です");<br>}<br> |
20から29までの年齢が対象となります。
4‑2. 例:土日判定
1 |
String day = "土曜日";<br><br>if (day.equals("土曜日") || day.equals("日曜日")) {<br> System.out.println("週末です");<br>}<br> |
4‑3. 例:天気判定
1 |
boolean isRainy = false;<br><br>if (!isRainy) {<br> System.out.println("晴れです!");<br>}<br> |
5. ネスト(入れ子)で細かい判断も可能
複数条件を段階的に判断するには「ネスト構造」が便利です。
1 |
int score = 85;<br><br>if (score >= 60) {<br> if (score >= 80) {<br> System.out.println("優秀です!");<br> } else {<br> System.out.println("合格です");<br> }<br>} else {<br> System.out.println("不合格です");<br>}<br> |
60点未満なら即不合格、それ以上ならさらに80点以上かどうかを判定しています。
6. 三項演算子でコードを1行にまとめる
簡単なif‑elseなら ?:
を使うとスッキリ書けます。
1 |
int age = 18;<br>String result = (age >= 20) ? "大人" : "未成年";<br>System.out.println(result);<br> |
ただし、読みやすさも大切なため、複雑な条件では使いすぎに注意しましょう。
7. ループとif文を組み合わせて繰り返し処理に対応
繰り返し処理(for / while)とif文を組み合わせることで、実践的な処理が可能になります。
7‑1. 例:1〜10の偶数だけ表示
1 |
for (int i = 1; i <= 10; i++) {<br> if (i % 2 == 0) {<br> System.out.println(i + " は偶数です");<br> }<br>}<br> |
i
が 2,4,6,8,10 のときだけメッセージが出力されます。
7‑2. 例:うるう年判定
1 |
int year = 2024;<br><br>if ((year % 4 == 0 && year % 100 != 0) || (year % 400 == 0)) {<br> System.out.println(year + "年はうるう年です");<br>} else {<br> System.out.println(year + "年はうるう年ではありません");<br>}<br> |
複雑な判定も簡潔にまとめられます。
8. 初心者がよくやるミスとその対策
❌ =(代入)と ==(比較)の混同
1 |
if (num = 10) // 間違い!<br> |
→ =
は変数に値を「代入」する演算子で、==
が「比較演算子」です。必ず ==
を使いましょう。
❌ {}
を省略して混乱
1 |
if (num > 5)<br> System.out.println("大きいです");<br> System.out.println("終わりました"); // 条件に関係なく実行される<br> |
→ {}
を省略すると、「条件付き」と「無条件」の区別が曖昧になります。常に {}
を使って範囲を明確にしましょう。
9. 練習課題で理解を深めよう
課題1:数値判定プログラム
キーボードから入力される数字を読み取り、次のメッセージを表示するプログラムを作成しましょう。
- 「0以下」
- 「1〜9」
- 「10以上」
課題2:曜日判定プログラム
キーボードから曜日(文字列)を入力し、「土曜日」または「日曜日」なら「お休み」、それ以外なら「出勤」と表示するプログラムを作成してください。
10. 学習ステップアップの2ステップ
プログラミングを独学で続けるのは大変ですが、良い教材とプロによるサポートを利用すれば確実に前に進めます。
📘 まずは自己学習に集中しよう
絶対にJavaプログラマーになりたい人へ。 を読んで、if文を含むJavaの基本構文や考え方をしっかり理解しましょう。丁寧な解説と実践例で初心者でも安心です。
👨🏫 プロのサポートを受けたい方へ
独学でわからなくなった、実務視点のレビューが欲しい、プログラマーへの転職を考えている、そんな方には サイゼントアカデミー が最適です。現役エンジニアによるコードレビューと転職サポートで、あなたのレベルを確実に引き上げます。
まとめ:if文で表現の幅を広げよう
if
文が使えるようになると、プログラムに判断力が加わりますelse
,else if
,論理演算子
,ネスト
を使えば、複雑な条件も表現可能三項演算子
やループとの組み合わせ
で、より実用的な処理が実装できるようになります初心者が犯しやすいミス
を知り、事前に対策しておくことがコードの品質に繋がります練習課題
で手を動かしながら理解を定着させましょう
Javaプログラミング旅の第一歩として、if文の理解はとても重要です。
その経験を活かし、ぜひ次の段階(メソッド・クラス・例外処理など)へ進んでみてください!
コメント