Java の if 文による条件分岐
Java の if 文
if 文を使うと、自由に決めた条件によって、プログラム内の異なるコードブロックを実行できるようになります。
if 文では、条件が真 (true) と評価されるときに実行するコードブロック、偽 (false) のときに実行するコードブロックを指定することができます。そしてさらに、条件を複数追加することなどもできます。
具体例でみてみましょう。
if (条件1) {
// 条件1 が真 (true) のときにここが実行される
} else {
// 条件1 が偽 (false) のときにここが実行される
}
else ブロックは任意です。else ブロックはなくても構いません。
次の例をみてください。
public class TestApp {
public static void main(String[] args) {
int X = 3;
if (X > 10) {
System.out.println("X is greater than 10.");
} else {
System.out.println("X is not greater than 10.");
}
}
}
X という int 型の変数があり、3 という値で初期化されています。4 行目では if 文を使って、それが 10 より大きいかどうかチェックしています。
実行結果は次のとおりです。
X is not greater than 10.
ここで X は 3 であり 10 より大きくないので、 X > 10 という条件式は false と評価されるために、else の方のコードブロックが実行されました。
Java の else if の使い方
上で見た if-else という他に、さらに条件分岐を加える場合には、if-if else-else という形で任意の数の条件を付け足すことが可能です。
if (条件1) {
// 条件1 が true のときにここが実行される
} else if (条件2) {
// 条件1 が false でありかつ 条件2 が true のときにここが実行される
} else {
// 条件1, 条件2 共に false の場合にここが実行される
}
条件は複数あっても構いません。その場合は条件2 と同様に、条件3, 条件4, ... も同様に書きます。
public class TestApp {
public static void main(String[] args) {
int X = 3;
if (X > 10) {
System.out.println("X is greater than 10.");
} else if (X > 0) {
System.out.println("X is not greater than 10.");
System.out.println("X is greater than 0.");
} else {
System.out.println("X is not greater than 10.");
}
}
}
実行結果は次の通りです。
X is not greater than 10.
X is greater than 0.
X は 3 であり、6行目の条件 X > 0 が true となるので、7行目と8行目が実行されました。
5行目や、10行目を含むコードブロックは実行されません。