第九章 制御文
if文(条件分岐)
もし ~ なら 処理A そうでなければ 処理B
if( boolean ){
処理A;
}else{
処理B;
}
ついに if文まで辿り着いたっスよ!!
if文を使えたらもう
プログラマーだね!!
あー、いや
そんなことは...どうだろう?
目次
1.書式
書式その1 if() else
書式 if() else
if( 条件式 ){
処理A; //条件式が true のとき
}else{
処理B; //条件式が false のとき
}
説明
- 条件式は、答えがbooleanであればなんでも構いません。
関係演算子を用いた式が一般的でしょう。
- 条件式が true のときは、処理Aが実行されます。
- 条件式が false のときは、処理Bが実行されます。
- どちらか片方しか実行されません。
2.使い方
//Sample38_01.java
class Sample38_01{
public static void main(String[] args){
int x = 10;
if( x > 5 ){
System.out.println("x は5よりも大きいです。");
}else{
System.out.println("x は5以下です。");
}
}
}
コマンドライン
>javac Sample38_01.java
>java Sample38_01
x は5よりも大きいです。
うまくいっただろうか?
少しカッコが多くなってきた。
インデントをそろえて書こう。
3.遊んでみよう
Math.random() と組み合わせて、「丁」「半」をランダムに表示するプログラムを作ってみました。
丁半というのは、昔の賭博ですね。
サイコロの目が偶数か奇数かを賭ける遊びです。
//Sample38_02.java
class Sample38_02{
public static void main(String[] args){
/*0 or 1 のランダム*/
int digital = (int)(Math.random() * 2);
if(digital==0){
System.out.println("丁!");
}else{
System.out.println("半!");
}
}
}
コマンドライン
>javac Sample38_02.java
>java Sample38_02
丁!
>java Sample38_02
半!
4.その他の書式
他にも以下の様なバリエーションがあります。
場面に応じてつかいわけましょう。
直感的でわかりやすい書式だと思う。
軽く目を通しておけば十分だろう。
書式その2 if()のみ
else は省略できます。
書式 if()のみ
if( 条件式 ){
処理A; //条件式が true のとき
}
書式その3 if() else if()
else if() で条件式を追加できます。
複数追加して分岐を増やすことができます。
条件式が複数ある場合には、最初に一致した条件式の処理を行って
if文を抜けます。
一致した以降の条件式は評価されません。
書式 if() else if()
if( 条件式1 ){
処理A; //条件式1が true のとき
}else if( 条件式2 ){
処理B; //条件式1が false で 条件式2が true のとき
}else{
処理C; //条件式1 と 条件式2が false のとき
}
推奨しない書式
処理が1行の場合は{}を省略できます。
可読性が落ちるのであまりオススメはでき無いのですが、
実際にはよく見かける書式です。
「使わないけど読める」程度がいいと思います。
書式 {}の省略
if( 条件式 )処理A; //条件式が true のとき
if文っていうから構えちゃったけど、
意外とわかりやすかったわ。
if文の知名度は高いから、
みんなそれなりに知識があるのだと思う。
「()」カッコ と 「{}」波カッコ の位置関係さえ押さえておけば何とかなりそうです。
if文はこれでおしまいです。
お疲れ様でした。