if 条件分岐 - 萌えJava超入門
第九章 制御文

if文(条件分岐)

もし ~ なら 処理A そうでなければ 処理B

if( boolean ){
  処理A;
}else{
  処理B;
}
ついに if文まで辿り着いたっスよ!!



if文を使えたらもう
プログラマーだね!!
あー、いや
そんなことは...どうだろう?

目次


1.書式

書式その1 if() else

書式 if() else
if( 条件式 ){
    処理A; //条件式が true のとき
}else{
    処理B; //条件式が false のとき
}

説明
  1. 条件式は、答えがbooleanであればなんでも構いません。
    関係演算子を用いた式が一般的でしょう。
  2. 条件式が true のときは、処理Aが実行されます。
  3. 条件式が false のときは、処理Bが実行されます。
  4. どちらか片方しか実行されません。



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文はこれでおしまいです。

お疲れ様でした。




© 2019 awasekagami