Javaのif文を完全マスター!初心者でもわかる分岐処理の使い方
生徒
「Javaで条件によって動作を変える方法ってあるんですか?」
先生
「良い質問ですね!Javaでは、条件に応じてプログラムの流れを制御するために、if文を使います。これを使えば、指定した条件が満たされているかどうかで、実行する内容を変えることができるんです。」
生徒
「具体的にどんな感じで使うんですか?」
先生
「それでは、if文の基本的な使い方から見ていきましょう!」
1. Javaのif文とは?
Javaのif文は、プログラム内で条件に応じて処理を分岐させるためのものです。例えば、ある条件が「真(true)」であれば特定の処理を実行し、そうでなければスキップする、といった操作が可能になります。分岐処理を理解することで、プログラムの流れを制御できるようになり、より複雑なアプリケーションを作ることができるようになります。
2. 基本的なif文の使い方
まずは、シンプルなif文の書き方から見てみましょう。以下のように書くことで、条件が「真(true)」である場合に特定の処理が実行されます。
public class IfExample {
public static void main(String[] args) {
int number = 10;
if (number > 5) {
System.out.println("変数 number は 5 より大きいです。");
}
}
}
このコードでは、変数numberの値が5より大きいかどうかをチェックしています。numberが5より大きい場合、「変数 number は 5 より大きいです。」と表示されます。
3. else文で条件が「偽」の場合の処理を追加
if文だけでは、条件が「偽(false)」の場合には何も実行されませんが、elseを使うことで、条件が満たされなかったときの処理を指定することができます。
public class IfElseExample {
public static void main(String[] args) {
int number = 3;
if (number > 5) {
System.out.println("変数 number は 5 より大きいです。");
} else {
System.out.println("変数 number は 5 以下です。");
}
}
}
上記のコードでは、numberが5以下の場合、「変数 number は 5 以下です。」と表示されるようになっています。これにより、条件分岐の幅が広がります。
4. if-else if-else文で複数の条件を設定する
さらに複雑な条件を扱いたい場合は、else ifを使うことで、複数の条件を順番にチェックすることができます。
public class IfElseIfExample {
public static void main(String[] args) {
int number = 7;
if (number > 10) {
System.out.println("変数 number は 10 より大きいです。");
} else if (number > 5) {
System.out.println("変数 number は 5 より大きく、10 以下です。");
} else {
System.out.println("変数 number は 5 以下です。");
}
}
}
この例では、まずnumberが10より大きいかをチェックし、そうでなければ5より大きいかをチェックし、どちらの条件も満たさない場合は「5 以下」と表示します。こうすることで、複数の条件を順番に評価することができます。
5. 条件式の基本:比較演算子・論理演算子と短絡評価
if文では、比較演算子(>、>=、<、<=、==、!=)と論理演算子(&&、||、!)を組み合わせて条件を作ります。短絡評価により、左側の結果で右側の評価が省略される点も重要です。
public class OperatorsBasics {
public static void main(String[] args) {
int score = 75;
boolean hasSubmitted = true;
// 比較演算子
if (score >= 80) {
System.out.println("合格(優)");
}
// 論理演算子(短絡評価)
if (hasSubmitted && score >= 60) {
System.out.println("提出済み && 合格ライン到達");
}
// 否定
if (!hasSubmitted || score < 0) {
System.out.println("未提出 または 不正な点数");
}
}
}
false && 右側は右側を評価しません。true || 右側も同様に右側が評価されません。6. ネストしたifとガード節(早期リターン)で読みやすくする
条件が多いとネスト(入れ子)が深くなりがちです。ガード節で早めに抜けると、if文が見通しよくなります。
// ネストが深い例
public static String grade(Integer score) {
if (score != null) {
if (score >= 0 && score <= 100) {
if (score >= 80) return "A";
else if (score >= 65) return "B";
else if (score >= 50) return "C";
else return "D";
} else {
return "範囲外";
}
} else {
return "未入力";
}
}
// ガード節で整理
public static String gradeBetter(Integer score) {
if (score == null) return "未入力"; // 早期リターン
if (score < 0 || score > 100) return "範囲外"; // 早期リターン
if (score >= 80) return "A";
if (score >= 65) return "B";
if (score >= 50) return "C";
return "D";
}
まとめ
本記事では、Javaのif文を使った条件分岐処理について初心者向けに解説しました。if文を使うことで、プログラムの実行内容を条件に応じて切り替えることが可能になります。特に、基本的なif文、条件が偽の場合のelse文、複数の条件を評価するelse if文を使用した例を紹介しました。これらの技術を活用すれば、複雑な条件でも効率的に処理を分岐させることができます。
また、各コード例では、シンプルな構造で書かれているため、初心者でもすぐに実行可能です。自分の手でコードを実行しながら理解を深めることが重要です。
public class IfRecap {
public static void main(String[] args) {
int score = 75;
if (score >= 90) {
System.out.println("評価: 優");
} else if (score >= 60) {
System.out.println("評価: 良");
} else {
System.out.println("評価: 不合格");
}
}
}
上記のコードは、スコアに応じて評価を分岐する例です。このような条件分岐は実際のアプリケーションでもよく使われます。ぜひ試してみてください。
生徒
「先生、if文を使うと条件によって処理を分けられることがわかりました!」
先生
「そうですね。条件分岐は、プログラムの中で非常に重要な部分です。特に、if文やelse文を適切に使うことで、柔軟なプログラムを作ることができますよ。」
生徒
「else if文を使うと、複数の条件を評価できるので便利ですね。」
先生
「その通りです。複数の条件を扱う場合は、どの条件を優先するかを考えることが大切です。これにより、バグの少ないプログラムを作ることができます。」
生徒
「これからいろいろな条件分岐を使って、実践的なプログラムを作ってみたいです!」
先生
「ぜひチャレンジしてください。次回は条件分岐を使ったゲームのロジックを作成してみましょう。」