Java入門 〜if文で条件分岐をマスターする〜
この記事で学べること
- if文を使った条件分岐の基本
- 比較演算子(==, !=, >, <など)で条件を作る方法
- 論理演算子(&&, ||, !)で複雑な条件を作る方法
- if文を使った実践的なプログラム例
はじめに – 今日やること
前回の振り返りです!
前回は、変数でデータを保存して、それを再利用する仕組みを学びました。
エンジニアは、この変数を使って開発を進めていきます。
プログラミング学習でよくあるのが、こんなパターンです:
- 知識だけ増やして、実際には使わなくなってしまう
- 「わかったけど、これって実務で使っていいの?」という不安で、使わなくなってしまう
安心してください!
これから学ぶものは、すべて実務でよく使われているので、皆さんもどんどん使っていきましょう!
今日のテーマは、プログラムに「判断する力」を与えることができる「if文」という構文についてです。
今日のゴール
- if文を使って、条件によってプログラムの動きを変えられる
- 比較演算子で条件を作れる
- 複数の条件を組み合わせられる
if文って何? なぜ必要?
if文とは
if文とは、「もし〜なら」という判断をプログラムに与えるものです。
これをプログラミングで使うと、「もしある条件を満たしたなら、この処理を行う」ということが可能になります。
これを条件分岐と言います。
日常の例で理解しよう
私たちは、日常生活で無意識に「もし〜なら」を使っています。
例えば:
- 信号が青なら進む、赤なら止まる
- 天気が雨なら傘を持つ、晴れなら持たない
- お腹が空いたなら食べる、空いてないなら食べない

このように、ある条件に当てはまったら、その行動を行うというのが「もし〜なら」の考え方です。
プログラムでも同じ!
プログラムでも、条件によって動作を変えることができます。
例えば、信号機のプログラムなら:
もし信号が青なら
→ 進む
そうでなければ
→ 止まる
このように、if文を使うと、状況に応じてプログラムの動きを変えられます!
if文がないと、どうなる?
if文があって初めて、プログラムは「この時はこうする」という判断ができます。
もしif文がないと、どんな状況でも毎回同じことしかできません。
例えば、信号機のプログラムにif文がないと…
「信号が青でも赤でも、いつも進んでしまう車」
想像してみてください。非常に危険ですよね…!
だからこそ、if文はプログラミングに欠かせないんです。
if文の基本 – 書き方と使い方
それでは、実際にif文の書き方を学んでいきましょう!
if文の書き方
if文は、このように書きます。
書き方:
if (条件) {
// 条件が正しい時に実行される処理
}
この条件には、「信号が赤なら」や「数値が18以上なら」といったことを書きます。
条件が正しい(true)になった場合、{}の中が実行されます。
ポイント
- 条件は ()の中に書きます
- 条件が正しい時に実行したい処理を {}の中に書きます
- 条件は「比較演算子」というものを使って書きます。これは次の章で詳しく説明するので、今は「年齢が18以上」のような条件が書けるんだな、と理解してください!
- {}(波カッコ)は忘れずに書きましょう!
実際のコード例:
int age = 20;
if (age >= 18) {
System.out.println("成人です");
}

この例では、ageが18以上なので、「成人です」と表示されます。
else(そうでなければ)の書き方
if文は、elseとセットで使うことが多いです。(必須ではありませんが、セットで使うとわかりやすくなります)
elseとは、「そうでなければ」を意味しています。
ifが「もし〜なら」、elseが「そうでなければ」を表現できます。
例えば:
もし信号が赤なら → 止まる
そうでなければ → 進む
このように、2つの選択肢を表現できます!
書き方:
if (条件) {
// 条件が正しい時
} else {
// 条件が正しくない時
}
これで「そうでなければ」を表現することができます!
実際のコード例:
int age = 15;
if (age >= 18) {
System.out.println("成人です");
} else {
System.out.println("未成年です");
}

この例では、ageが15なので、18以上ではありません。そのため、elseの中の「未成年です」と表示されます。
else if(複数の条件)の書き方
if〜else以外に、else ifというものがあります。
先ほどまでは、ifとelseの2択でした。でも、3つ、4つ、5つと条件を増やしたい時もあります。
例えば、「赤なら」「黄色なら」「青なら」など、3つ以上の選択肢がある場合に使えるのが、else ifです。
書き方:
if (条件1) {
// 条件1が正しい時
} else if (条件2) {
// 条件2が正しい時
} else {
// どの条件も正しくない時
}
elseには条件を書きませんでしたが、else ifには条件が必要です。
そのため、elseは「ifとelse ifのどちらにも当てはまらない場合」に実行されます。
実際のコード例:
int score = 75;
if (score >= 80) {
System.out.println("優秀です");
} else if (score >= 60) {
System.out.println("合格です");
} else {
System.out.println("不合格です");
}

この例では:
- scoreが75なので、80以上ではない → 最初のifはスキップ
- scoreが75なので、60以上である → else ifが実行されて「合格です」と表示
という流れになります!
if文は、これで全てです!
if文の書き方は、この3種類だけです:
- if文: 条件が正しい時だけ処理
- else文: そうでなければの処理
- else if文: 複数の条件を追加
これだけです!
この3つと、次の章で学ぶ「比較演算子」を使えば、どんな条件分岐でも書けるようになります。
まずは、この3つの書き方を覚えましょう!
次の章で、比較演算子を学んで、もっといろんな条件を書けるようにしていきます!
比較演算子を理解しよう
前の章で「条件」と言っていたものが、この比較演算子を使って書けるようになります!
比較演算子とは
比較演算子とは、2つの値を比べるための記号です。
この演算子を使うと、「等しい」「大きい」「小さい」などの条件を作ることができます。
例えば:
- 年齢が18以上か?
- 点数が60より大きいか?
- 名前が「太郎」と等しいか?
こういった条件を、比較演算子で書きます!
比較演算子一覧
では、どんな比較演算子があるのか見てみましょう。
| 演算子 | 意味 | 例 | 結果 |
|---|---|---|---|
== | 等しい | 5 == 5 | true |
!= | 等しくない | 5 != 3 | true |
> | より大きい | 5 > 3 | true |
< | より小さい | 5 < 3 | false |
>= | 以上 | 5 >= 5 | true |
<= | 以下 | 5 <= 3 | false |
結果がtrue(正しい)なら、if文の中が実行されます。
結果がfalse(正しくない)なら、if文の中はスキップされます。
実際に使ってみよう
では、実際にif文と組み合わせて使ってみましょう!
例1: 大きさを比較
int a = 10;
int b = 5;
if (a > b) {
System.out.println("aの方が大きい");
}
実行結果:
aの方が大きい
a(10)はb(5)より大きいので、if文の中が実行されます!
例2: 等しくないか比較
int a = 10;
int b = 5;
if (a != b) {
System.out.println("aとbは違う値です");
}
実行結果:
aとbは違う値です
aとbは違う値なので、if文の中が実行されます!
例3: 年齢を判定
int age = 20;
if (age >= 18) {
System.out.println("成人です");
}
実行結果:
成人です
age(20)は18以上なので、if文の中が実行されます!
⚠️ 重要な注意点
比較演算子を使う時に、初心者がよくハマるポイントが2つあります。
注意点1: 「==」と「=」を間違えやすい!
これ、本当によくある間違いなんです…!
=は「代入」、==は「比較」です。
見た目が似ているので、つい間違えてしまいます。
間違った例:
if (age = 18) { 処理 } ←これは代入になってしまいます。
これだと、「ageに18を代入する」という意味になってしまい、エラーが出ます。
正しい例:
if (age == 18) { 処理 } ←これが比較です!
==(イコール2つ)で比較します。
慣れるまでは、意識して確認しましょう!
注意点2: 文字列の比較は特別
数値の比較は==でOKですが、文字列は.equals()を使います。
これだとうまく動きません:
String name = "太郎";
if (name == "太郎") {
// 動かない...
}
こう書きます:
String name = "太郎";
if (name.equals("太郎")) {
// これで動く!
}
なぜ文字列だけ特別なのかは、少し難しい話なので後で説明します。
今は『文字列は.equals()』と覚えてしまいましょう!
論理演算子で複雑な条件を作ろう
比較演算子だけでは、1つの条件しか書けません。
でも、実際のプログラムでは「18歳以上で、かつ免許を持っている」のように、2つ以上の条件を同時にチェックしたい時があります。
そんな時に使うのが、論理演算子です!
論理演算子とは
論理演算子とは、「かつ」や「または」を表現できる演算子です。
これを使うと、複数の条件を組み合わせることができます!
論理演算子一覧
Javaで使える論理演算子は、この3つです。
| 演算子 | 意味 | 例 | 結果 |
|---|---|---|---|
&& | かつ(AND) | true && true | true |
|| | または(OR) | true || false | true |
! | 否定(NOT) | !true | false |
それぞれの意味を見ていきましょう!
&&(かつ) – 両方とも正しい時だけ
&&は、両方の条件が正しい時だけ、全体がtrueになります。
日常の例:
- 「18歳以上 かつ 免許を持っている」→ 両方を満たさないとダメ
コード例:
int age = 25;
boolean hasLicense = true;
if (age >= 18 && hasLicense) {
System.out.println("運転できます");
}
実行結果:
運転できます
この例では:
age >= 18→ true(25は18以上)hasLicense→ true(免許を持っている)- 両方ともtrueなので、if文の中が実行されます!
もし、どちらか一方でもfalseなら、if文の中は実行されません。
||(または) – どちらか一方が正しければOK
||は、どちらか一方が正しければ、全体がtrueになります。
日常の例:
- 「雨が降っている または 寒い」→ どちらか一方でも当てはまればOK
コード例:
int age = 15;
boolean hasLicense = false;
if (age < 18 || !hasLicense) {
System.out.println("運転できません");
}
実行結果:運転できません
この例では:
age < 18→ true(15は18未満)!hasLicense→ true(免許を持っていない)- どちらか一方がtrue(実際は両方true)なので、if文の中が実行されます!
!(否定) – 正しいと間違いを反転させる
!は、trueをfalseに、falseをtrueに反転させます。
日常の例:
- 「免許を持っている」の否定 → 「免許を持っていない」
コード例:
boolean hasLicense = false;
if (!hasLicense) {
System.out.println("免許を持っていません");
}
実行結果:免許を持っていません
この例では:
hasLicense→ false!hasLicense→ true(falseを反転)- trueなので、if文の中が実行されます!
組み合わせて使うこともできる
複数の論理演算子を組み合わせることもできます!
コード例:
int age = 20;
boolean hasLicense = true;
boolean hasInsurance = false;
if ((age >= 18 && hasLicense) && hasInsurance) {
System.out.println("運転できます");
} else {
System.out.println("保険に入っていないので運転できません");
}
この例では、「18歳以上」「免許を持っている」「保険に入っている」の3つ全てが必要です。
ちょっと複雑ですが、慣れると便利ですよ!
これで、論理演算子の基本がわかりましたね。
次は、実際にif文を使ったプログラムを作ってみましょう!
実践:if文を使ったプログラムを作ろう
ここまで学んだif文、比較演算子、論理演算子を使って、実際にプログラムを作ってみましょう!
例1: 成績判定プログラム
点数に応じて、評価を表示するプログラムです。
コード:
int score = 75;
if (score >= 90) {
System.out.println("A評価:優秀です!");
} else if (score >= 80) {
System.out.println("B評価:良好です");
} else if (score >= 60) {
System.out.println("C評価:合格です");
} else {
System.out.println("D評価:不合格です");
}
実行結果:C評価:合格です

このプログラムの流れ:
scoreが75なので、90以上ではない → 最初のifはスキップ- 80以上でもない → 最初のelse ifもスキップ
- 60以上である → 2番目のelse ifが実行されて「C評価:合格です」と表示
ポイント:
条件は上から順番にチェックされます。
だから、大きい値から順に判定するのが重要です!
もし順番を間違えると、正しく動きません。
例2: ログイン判定プログラム
IDとパスワードが正しいかチェックするプログラムです。
ここでは、文字列の比較(.equals())と論理演算子(&&)を使います!
コード:
String inputId = “admin”;
String inputPassword = “1234”;
String correctId = “admin”;
String correctPassword = “1234”;
if (inputId.equals(correctId) && inputPassword.equals(correctPassword)) {
System.out.println(“ログイン成功!”);
} else {
System.out.println(“IDまたはパスワードが間違っています”);
}
実行結果:ログイン成功!

このプログラムの流れ:
inputId.equals(correctId)→ true(IDが一致)inputPassword.equals(correctPassword)→ true(パスワードが一致)- 両方ともtrueなので、「ログイン成功!」と表示
もし、IDかパスワードのどちらかが間違っていたら、elseの「IDまたはパスワードが間違っています」が表示されます。
ポイント:
- 文字列の比較は
.equals()を使う - 2つの条件を同時にチェックするには
&&(かつ)を使う
自分でも試してみよう!
では、これらのプログラムを自分でカスタマイズしてみましょう!
試してみること:
- 成績判定プログラムの
scoreを変えて、結果がどう変わるか確認 - 評価基準を変えてみる(例: 90点以上をS評価にする)
- ログイン判定プログラムのIDやパスワードを変えて、失敗パターンも試す
- 新しい条件を追加してみる
何度も書いて、実験してみてください!
失敗しても大丈夫。何度でもやり直せます。
次は、よくあるエラーと注意点を見ていきましょう!
よくあるエラーと注意点
if文を使っていると、エラーが出ることはよくあります。
ここでは、初心者がよくハマるポイントを紹介します!
自分が同じミスをしていないか、確認してみてください。
エラー1: 「==」と「=」を間違える
これ、本当によくあるミスです…!
間違った例:
if (age = 18) { // これは代入になっちゃう!
}
これだと、「ageに18を代入する」という意味になってしまい、エラーが出ます。
エラーメッセージ:
error: incompatible types: int cannot be converted to boolean
正しい例:
if (age == 18) { // これが比較!
}
==(イコール2つ)で比較します。
見た目が似ているので、コードを書いたら必ず確認しましょう!
エラー2: 波カッコ{}を忘れる
{}を省略することもできますが、おすすめしません。
省略した例:
if (age >= 18)
System.out.println("成人です");
System.out.println("これは常に実行される"); // 実はif文の外!
実行結果:
成人です
これは常に実行される
一見、2行ともif文の中に見えますが、実際は1行目だけです。
2行目は、ageの値に関係なく、常に実行されます。
これがバグの原因になることが多いです…
正しい例:
if (age >= 18) {
System.out.println("成人です");
System.out.println("これもif文の中");
}
{}を書く癖をつけましょう!
エラー3: 文字列の比較で==を使ってしまう
数値の比較は==でOKですが、文字列は.equals()を使います。
うまく動かない例:
String name = "太郎";
if (name == "太郎") {
System.out.println("太郎さんです"); // 表示されないことがある
}
これだと、期待通りに動かないことがあります。
正しい例:
String name = "太郎";
if (name.equals("太郎")) {
System.out.println("太郎さんです"); // これで動く!
}
理由は少し複雑なので、今は「文字列は.equals()」と覚えておきましょう!
エラー4: 条件の順序を間違える
else ifを使う時、条件の順序がとても重要です!
問題がある例:
if (score >= 60) {
System.out.println("合格");
} else if (score >= 80) {
System.out.println("優秀"); // ここには絶対に来ない!
}
scoreが85の場合を考えてみましょう:
score >= 60→ true(85は60以上)- 「合格」と表示
- ここで終了! else ifはチェックされない
つまり、80点以上でも「合格」と表示されてしまいます。
正しい例(大きい方から判定):
if (score >= 80) {
System.out.println("優秀");
} else if (score >= 60) {
System.out.println("合格");
}
条件は上から順番にチェックされるので、大きい値から書きましょう!
これらのエラーに気をつければ、if文は怖くありません!
次に学ぶべきこと
長い間、お疲れ様でした!
今日は、if文と条件分岐を学びましたね。
今日学んだこと
- if文の基本的な書き方(if, else, else if)
- 比較演算子で条件を作る方法
- 論理演算子で複雑な条件を作る方法
- if文を使った実践的なプログラム
これで、いろんなプログラムが作れるようになりました!
これから何をすべきか
これからは、たくさん書いて動かすことが一番の勉強です!
自分で条件を変えたり、新しいプログラムを作ったりして、どんどん実験してみてください。
失敗しても大丈夫。何度でもやり直せます。
この2つが、プログラミングの核心です
前回の「変数(データ)」と、今回の「if文」。
この2つで、プログラミングの基礎が完成しました!
この2つがあれば、どんなプログラムでも書くことができます。(大変ではありますが)
実は、これから学ぶこと(繰り返し、関数、クラスなど)は、すべて「僕たちが楽をするために作られた仕組み」なんです。
でも、この2つ(変数とif文)は、絶対に欠かせない土台です。
よく頑張りましたね!
次のステップ: 繰り返しを学ぼう
次は、繰り返し(for文、while文)を学んでいきます!
繰り返しを学ぶと:
- 同じ処理を何度も実行できる(例: 1から100まで表示)
- 大量のデータを効率的に処理できる
- もっと複雑なプログラムが作れる
これを使うと、僕たちがもっと楽にプログラムを作れるようになります!
焦らず、一緒に頑張りましょう!
まとめ
お疲れ様でした! 今日学んだことを振り返ってみましょう。
今日のポイント
✅ if文は「もし〜なら」という条件分岐
✅ if, else, else ifで複数の条件に対応できる
✅ 比較演算子(==, !=, >, <など)で条件を作る
✅ 論理演算子(&&, ||, !)で複雑な条件を作る
✅ 文字列の比較は.equals()を使う
今日、あなたはプログラムに「判断する力」を与えることができるようになりました!
前回の「変数(データ)」と、今回の「if文」で、プログラミングの基礎が完成しましたね。
この調子で、次のステップに進みましょう!
次に読むべき記事
次は、繰り返し処理を学んで、同じ処理を何度も実行できるようにしましょう!
- Java入門 〜繰り返し処理をマスターする〜(執筆中〜2026年1月20日 公開予定〜)
for文やwhile文を使って、同じ処理を何度も実行する方法を学びます。
前回・関連記事
- Java入門 〜変数とデータ型を理解する〜
前回の記事です。変数でデータを保存する方法を学びましたね! - Java入門 〜最初のプログラムを書く〜
最初の記事です。Hello Worldを動かしましたね!
質問や感想をお待ちしています!
この記事でわからなかったことや、つまずいたポイントがあれば、お気軽にコメント欄やお問い合わせフォームからご連絡ください!
また、「if文がわかりました!」の報告も大歓迎です。一緒に喜びたいです!
それでは、次の記事でお会いしましょう!

