Java if…elseをマスター:制御フローを徹底解説
Java if…else文
if、if-else、else-if、ネスト文の明確な例でJavaの制御フローをマスターしましょう。
プログラミングにおいて、if…else構造はブールテストに基づいてどのコードブロックを実行するかを決定します。これはJavaでの意思決定の基盤です。
例えば、数値スコアから文字の成績を割り当てる場合:
- スコアが90以上なら、成績はA
- スコアが75以上なら、成績はB
- スコアが65以上なら、成績はC
1. Java if (if-then)文
if-then文の構文は:
if (condition) {
// 文
}
ここで、conditionはage >= 18のようなブール式です。
- conditionが
trueと評価される場合、文が実行されます。 - conditionが
falseと評価される場合、文はスキップされます。
if文の仕組み

例1: Java if文
class IfStatement {
public static void main(String[] args) {
int number = 10;
// 数値が負かどうかチェック
if (number < 0) {
System.out.println("数値は負です。");
}
System.out.println("ifブロックの外の文");
}
}
出力
ifブロックの外の文
number < 0がfalseなので、ifブロック内のコードはスキップされます。
ヒント: テスト条件については、Java関係演算子とJava論理演算子を参照してください。
Javaではテスト条件にString値も使用できます。
例2: Stringを使ったJava if
class Main {
public static void main(String[] args) {
String language = "Java";
if (language == "Java") {
System.out.println("Best Programming Language");
}
}
}
出力
Best Programming Language
この例は、ifブロック内で2つの文字列を比較することを示しています。
2. Java if…else (if-then-else)文
ifブロックはテスト式がtrueのとき実行され、そうでなければオプションのelseブロックが実行されます。
構文は:
if (condition) {
// trueの場合のコード
} else {
// falseの場合のコード
}
この構造により、単一の決定が2つの異なるパスに分岐できます。
if…else文の仕組み

例3: Java if…else文
class Main {
public static void main(String[] args) {
int number = 10;
if (number > 0) {
System.out.println("数値は正です。");
} else {
System.out.println("数値は正ではありません。");
}
System.out.println("if…elseブロックの外の文");
}
}
出力
数値は正です。 if…elseブロックの外の文
numberを-5に変更すると結果が反転し、elseブランチが実行されることを示します。
3. Java if…else…ifラダー
if…else…ifチェーンは各条件を順番に評価し、最初にtrueとなった条件のブロックを実行します。いずれも一致しない場合、最後のelseが実行されます。
if (condition1) {
// コード
} else if (condition2) {
// コード
} else if (condition3) {
// コード
} else {
// デフォルトのコード
}
このパターンは複数分岐に最適です。
if…else…ifラダーの仕組み

例4: Java if…else…if文
class Main {
public static void main(String[] args) {
int number = 0;
if (number > 0) {
System.out.println("数値は正です。");
} else if (number < 0) {
System.out.println("数値は負です。");
} else {
System.out.println("数値は0です。");
}
}
}
出力
数値は0です。
numberがゼロに設定されているため、前の2つの条件は両方失敗し、elseブロックが実行されます。
注意: Javaの三項演算子はif…else…ifの簡潔な形を提供します。詳細はJava三項演算子を参照してください。
4. ネストしたif…else文
ネストしたif…elseブロックは階層的な意思決定を可能にし、複数の値の比較に役立ちます。
例5: 3つの数値の中で最大値を見つける
class Main {
public static void main(String[] args) {
Double n1 = -1.0, n2 = 4.5, n3 = -5.3, largest;
if (n1 >= n2) {
if (n1 >= n3) {
largest = n1;
} else {
largest = n3;
}
} else {
if (n2 >= n3) {
largest = n2;
} else {
largest = n3;
}
}
System.out.println("最大値: " + largest);
}
}
出力
最大値: 4.5
実践では、値はハードコードされた定数ではなく、ユーザー入力、ファイル、ネットワークソースから得られることが多いです。
Java
- C# switch 文をマスターする:構文、例、ベストプラクティス
- C# break 文:使い方とタイミングを徹底解説
- C# continue 文をマスターする:ループ反復を効果的にスキップする方法
- Java演算子をマスター:種類、構文、実践例
- Javaコメント:種類、使い方、ベストプラクティス
- Java拡張forループをマスター:構文、例、ベストプラクティス
- Java文字列をマスター:生成、メソッド、ベストプラクティス
- Javaインターフェース完全ガイド:概念、実装、ベストプラクティス
- Java無名インナークラス完全ガイド:定義、構文、実践例
- Javaのtry-with-resourcesをマスターする:自動リソース管理の仕組みと活用法
- Javaアノテーション完全ガイド:種類、配置場所、実践例