ここでは、「if-else」を使ったJavaの条件分岐について紹介します。
条件分岐①
ここでまずストーリーを一つ考えてみてください。4.3章と同じように、また銀行口座の処理です。口座に1000円しかないのに、他の口座に対して2000円を振込しようとします。当然そうさせるわけにはいかないので、他の口座へ振込するとき、その口座の中にちゃんと振込したい金額以上の残高があることを確認しなければなりません。
ここで条件分岐の登場です。残高が振込金額より大きい場合だけ、口座から振込金額を引いて残高を表示する処理を実装したいとします。
4.3章で作成したプログラムを以下のように改造します。10~13行が変更になります。
public class HelloWorld {
public static void main(String[] args) {
// TODO 自動生成されたメソッド・スタブ
System.out.println("Hello World!");
int amount;
amount = 1000;
int transfer = 2000;
int total = amount;
if (amount > transfer) {
total = amount - transfer;
}
System.out.println("total: " + total);
}
}
全体のイメージと実行結果は次のようになります。
ここにある11行と13行の次のような形式が「if」を使った条件分岐の例になります。
if (判定条件) {
// 条件が成立した(true)場合の処理
}
ここのカッコ内にある判定条件は「amount >= transfer」、残高大なりイコール振込金額という意味です。上記の例の場合、条件成立した場合の処理は一つしかありませんが、波カッコが括ってる部分のすべてが条件成立場合実行する処理になりますので、複数行書くことももちろんできます。
残高を意味する変数amountには1000を代入しており、振込金額変数の初期値を2000として設定してますので、当然ながらこの判定条件は成立しません。そのため、トータルを意味する変数totalには、10行目で代入した残高と同じく1000になりますので、コンソールには「total: 1000」と表示されます。
条件分岐②
上のプログラムでは、金額足りた時だけ口座から振込金額引く処理行いますが、実際自分の残高が足りると思い込んで振込を行う人もいるかと思います。その人たちのため、残高が足りないよとお知らせしたいと思います。上のプログラムをさらに改良していきます。
条件分岐①のサンプルに、13~14行を追加して全体は次のようになります。
ここは「if」を使った条件分岐の例を拡張しています。判定条件成立した場合だけやる処理以外、成立しない場合だけやりたい処理もあると思います。
その場合は、次のように書きます。
if (判定条件) {
// 条件が成立した(true)場合の処理
} else {
// 条件が成立しない(false)場合の処理
}
この場合、残高が足りないことを、コンソールに「ERROR」という文言を表示してます。
まとめ
「if-else
」を利用した条件分岐の紹介はここまでです。お疲れ様でした!!
条件分岐は「if」以外、「switch」もありますが、「switch」はたくさんの場合分けしなければいけないケースに適し、ほとんどの場面は「if」を使うことになりますので、入門編ではとりあえず「if-else
」だけ知っとけば問題ありません!
次は「繰り返し(for)」です。
コメントを残す