Javaにおける条件分岐(if文)は、特定の条件が成立した場合に特定の処理を実行するための構造です。
条件が真の場合に処理が実行され、条件が複数ある場合は最初に成立した条件の処理が実行されます。
条件分岐を使うことで、プログラムは条件に応じて異なる経路を取ることができます。
今回はJavaの条件分岐(if文)について学びましょう!
Javaの条件分岐(if文)とは
条件分岐は、ある条件が成立した場合に特定の処理を実行するための構造です。
単純な条件分岐では、条件が真の場合に処理が実行されます。
Javaのif文の基本の書き方
if (条件) {
// 条件が真の場合の処理
}
この構文では、条件が真の場合に中括弧 {}
内の処理が実行されます。
条件分岐(if文)ってどういうときに使うの?
例えば、
ある値が特定の条件を満たすときだけ
ある処理を実行したいときに使うよ。
if文 例
// int型の変数xに10を代入します。
int x = 10;
// もしxが5より大きければ、以下のブロック内のコードを実行します。
if (x > 5) {
// "xは5より大きいです"というメッセージを出力します。
System.out.println("xは5より大きいです");
}
Javaのif-else文の基本の書き方
複数の条件によって処理を分岐させる場合、if-else文を使用します。
条件が複数ある場合、最初に条件を満たしたブロック内の処理が実行されます。
if (条件) {
// 条件が真の場合の処理
} else {
// 条件が偽の場合の処理
}
この構文では、条件が真の場合に中括弧 {}
内の処理が実行されます。
条件が偽の場合には、else
ブロック内の処理が実行されます。
つまり、この構文は条件に基づいて異なる経路を取るためのものです。
条件が満たされるかどうかに応じて、プログラムが実行するべき処理が切り替わります。
複数条件がある場合はどうするの?
条件を順番に評価して、最初に成立した条件のブロックが実行されるよ。
if-else文 例
// int型の変数xに10を代入します。
int x = 10;
// もしxが5より大きければ、以下のブロック内のコードを実行します。
if (x > 5) {
// "xは5より大きいです"というメッセージを出力します。
System.out.println("xは5より大きいです");
} else {
// そうでなければ、つまりxが5以下の場合に、以下のブロック内のコードを実行します。
// "xは5以下です"というメッセージを出力します。
System.out.println("xは5以下です");
}
Javaの多岐分岐(if-else if-else文)の書き方
複数の条件を順番に評価し、最初に成立した条件の処理を実行する場合、if-else if-else文を使用します。
if (条件1) {
// 条件1が真の場合の処理
} else if (条件2) {
// 条件2が真の場合の処理
} else {
// どの条件も満たさない場合の処理
}
この構文は、複数の条件に基づいて異なる処理を行うためのものです。
最初に、条件1が評価されます。
条件1が真の場合、条件1が満たされるための処理が実行されます。
条件1が偽の場合、次の条件2が評価されます。
条件2が真の場合、条件2が満たされるための処理が実行されます。
どちらの条件も満たされない場合、最後の else
ブロック内の処理が実行されます。
これは、どの条件も満たされなかった場合のデフォルトの処理を提供します。
このように、複数の条件に対して順番に評価し、最初に満たされる条件の処理を実行することができます。
複数の条件を評価するっていうのはどういうこと?
条件を順番にチェックして、最初に真となった条件のブロックが実行されるよ。条件が重ならないように順序を考えるのが大事だね。
if-else if-else文 例
// int型の変数xに10を代入します。
int x = 10;
// もしxが10より大きければ、以下のブロック内のコードを実行します。
if (x > 10) {
// "xは10より大きいです"というメッセージを出力します。
System.out.println("xは10より大きいです");
}
// もしxが10より小さければ、以下のブロック内のコードを実行します。
else if (x < 10) {
// "xは10より小さいです"というメッセージを出力します。
System.out.println("xは10より小さいです");
}
// それ以外の場合、つまりxが10と等しい場合に、以下のブロック内のコードを実行します。
else {
// "xは10です"というメッセージを出力します。
System.out.println("xは10です");
}
Javaのif文(複数条件)の書き方
複数の条件を組み合わせる場合、&&
(AND演算子)、||
(OR演算子)、!
(NOT演算子)を使用します。
- AND演算子 (
&&
): 両方の条件が真である場合に、全体の条件が真となります。つまり、条件1と条件2の両方が満たされている場合に処理が実行されます。
if (条件1 && 条件2) {
// 条件1と条件2が両方とも真の場合の処理
}
- OR演算子 (
||
): どちらかの条件が真である場合に、全体の条件が真となります。つまり、条件1または条件2のどちらかが満たされている場合に処理が実行されます。
if (条件1 || 条件2) {
// 条件1または条件2のどちらかが真の場合の処理
}
- NOT演算子 (
!
): 条件を否定します。条件が真であれば偽に、偽であれば真になります。
if (!条件) {
// 条件が偽の場合の処理
}
これらの演算子を使って、複数の条件を組み合わせて、プログラムの流れを制御することができます。
Javaの制御構造の応用
条件演算子(三項演算子)
条件演算子は、if-else文を簡潔に表現するための演算子です。
int x = 10;
String result = (x > 5) ? "xは5より大きいです" : "xは5以下です";
System.out.println(result);
if-else文をもっと短く書けるの?
条件演算子を使うと、if-else文を1行で書くことができるよ。
switch文による分岐
複数の条件による分岐を行う場合、switch文を使用します。
int day = 3;
String dayString;
switch (day) {
case 1:
dayString = "月曜日";
break;
case 2:
dayString = "火曜日";
break;
case 3:
dayString = "水曜日";
break;
default:
dayString = "その他の曜日";
}
System.out.println("今日は" + dayString + "です");
複数の条件による分岐はどうするの?
switch文を使うよ。条件ごとにcaseを書いて、該当する処理を実行するよ。
制御構造の適切な使い分け
条件分岐や繰り返し処理を適切に組み合わせることで、プログラムの可読性や効率性を高めることができます。適切な制御構造の選択が重要です。
※Javaの制御構造とは、プログラムの実行の流れを制御するための構造です。これには主に条件分岐とループが含まれます。
制御構造ってどうやって選ぶの?
問題に応じて、条件分岐や繰り返し処理のどちらが適しているか考えるよ。条件が一つだけなら条件分岐、複数の処理を繰り返す必要があれば繰り返し処理を使うよ。
まとめ
Javaの条件分岐は、条件が成立する場合に処理を実行する構造です。
主なものには、if文、if-else文、if-else if-else文があります。
条件に応じて適切な構造を選び、プログラムの流れを制御します。
条件分岐を使い分けることで、異なる条件に応じた処理を行うことができます。