
【6日でできるJava入門】制御文④ ifによる分岐
プログラムでは、条件によって処理を変えたい場面がよくあります。たとえば、ユーザーの入力が正解なら「正解!」、不正解なら「不正解!」と表示したい場合や、合格点かどうかでメッセージを変える場合です。こうした「条件による処理の分岐」を行うために、Javaではif文やif-else文を利用します。
ここでは、if文の基本から入れ子(ネスト)・複数条件の扱いまで、実行できる例とともに説明します。

1.if文による基本的な分岐
1.1. if文の構文と使い方
if文は「ある条件が真(true)のときだけ、特定の処理を実行する」ための構文です。
基本の形は以下の通りです。
if (条件式) {
// 条件が真なら実行される処理
}
サンプルプログラム:合格判定
ファイル名: lesson11_1.java
public class lesson11_1 {
public static void main(String[] args) {
int score = 78;
if (score >= 60) {
System.out.println("合格です");
}
}
}
実行結果
合格です
1.2. if-else文の使い方
if文にelseを組み合わせることで、「条件が偽(false)の場合」に実行する処理も記述できます。
if (条件式) {
// 条件が真なら実行
} else {
// 条件が偽なら実行
}
サンプルプログラム:合格・不合格判定
ファイル名: lesson11_2.java
public class lesson11_2 {
public static void main(String[] args) {
int score = 45;
if (score >= 60) {
System.out.println("合格です");
} else {
System.out.println("不合格です");
}
}
}
実行結果
不合格です
2.if文の応用
2.1. 配列の要素を比較して点数を集計する
複数の正答と回答を配列に格納し、for文+if文で正解数を数える例です。
サンプルプログラム:クイズの点数集計
ファイル名: lesson11_3.java
public class lesson11_3 {
public static void main(String[] args) {
int[] correct = {3, 2, 1, 4, 2, 3, 1};
int[] answer = {3, 2, 2, 4, 2, 1, 1};
int score = 0;
for (int i = 0; i < correct.length; i++) {
if (correct[i] == answer[i]) {
score++;
}
}
System.out.println("正解数は " + score + " 問です。");
}
}
実行結果
正解数は 5 問です。
2.2. if文の入れ子(ネスト)
if文の中にさらにif文を記述できます。
両方の条件が満たされたときだけ、処理を実行したい場合などに使います。
サンプルプログラム:ダブル正解でボーナス
ファイル名: lesson11_4.java
public class lesson11_4 {
public static void main(String[] args) {
int answer1 = 5, answer2 = 8;
int correct1 = 5, correct2 = 8;
int bonus = 0;
if (answer1 == correct1) {
if (answer2 == correct2) {
bonus = 10;
}
}
System.out.println("ボーナスポイント:" + bonus);
}
}
実行結果
ボーナスポイント:10
表:if文の構造まとめ
構文 | 用途・意味 |
---|---|
if (条件) { ... } | 条件が真のときだけ処理を実行 |
if (条件) { ... } else { ... } | 条件が真のとき…と偽のとき…で処理を分ける |
if (条件1) { if (条件2) { ... } } | 条件1かつ条件2が満たされたときだけ処理を実行 |
if (a == 1 && b == 2) { ... } | 複数条件を同時に満たす場合だけ処理を実行(論理積) |
3.if文と論理演算子
3.1. 複数条件を1つのifでまとめる
&&
(かつ)、||
(または)を使うことで、複数条件の組み合わせ判定ができます。
サンプルプログラム:両方正解でメッセージ
ファイル名: lesson11_5.java
public class lesson11_5 {
public static void main(String[] args) {
int answer1 = 2, answer2 = 7;
int correct1 = 2, correct2 = 7;
if (answer1 == correct1 && answer2 == correct2) {
System.out.println("両方正解です!");
} else {
System.out.println("どちらか不正解です。");
}
}
}
実行結果
両方正解です!
まとめ
if文は、条件分岐によってプログラムの動きを制御する重要な構文です。
基本構文から複数条件・ネスト・配列と組み合わせる応用例までしっかり押さえましょう。