Java言語の制御構文 - 条件分岐if/else/else if

2008/10/01 21:30Update
TAGS: Java | 条件分岐 | if | else | else if

Java言語の条件分岐構文if/else/else ifについて学びます。

使用シーン



例えば、
明日の天気によって出かけるか家にいるかにします。

雨の場合
 ⇒家にいる
晴れの場合
 ⇒遠足

このように、条件によって動作や処理を変える必要がある場合、分岐構文を使います。


条件分岐の形式



■形式1:

if (条件式) {
  ステイトメント
}

※条件式はtrue(真)の場合、ステイトメントを実行します。

■形式2:
if (条件式) {
    ステイトメント1
} else {
    ステイトメント2
}

※条件式はtrue(真)の場合、ステイトメント1を実行します。
false(偽)の場合、ステイトメント2を実行します。


■形式3
if (条件式1) {
    ステイトメント1
} else if (条件式2){
    ステイトメント2
} else if (条件式3){
    ステイトメント3
} else {
    ステイトメント4
}

※条件式1はtrue(真)の場合、ステイトメント1を実行します。
条件式1はfalse(偽)で、条件式2はtrue(真)の場合、ステイトメント2を実行します。
条件式1と条件式2はfalse(偽)で、条件式3はtrue(真)の場合、ステイトメント3を実行します。
条件式1と条件式2と条件式3すべてはfalse(偽)の場合、ステイトメント4を実行します。

if構文の後に0もしくは複数回else if構文があっても可能ですが、構文の最後に最大1個のelse構文しか追加できません。


サンプル


HelloIf.java
public class HelloIf {
    public static void main(String[] args) {
        int i = 1;
        System.out.println("HelloIf Start");
        if (i == 1) {
            System.out.println("i == 1");
        }

        if (i != 1) {
            System.out.println("i != 1");
        }
        System.out.println("HelloIf End");
    }
}


i = 1 であるため、条件式  i == j  に合致しますので、次の情報がスクリーンに出力されます。
C:\Java>javac HelloIf.java
C:\Java>java HelloIf
HelloIf Start
i == 1
HelloIf End

HelloIf.java
public class HelloIf {
    public static void main(String[] args) {
        int i = 1;
        int j = 2;
        System.out.println("HelloIf Start");
        if (i <= j) {
            System.out.println("i <= j");
        } else {
            System.out.println("i > j");
        }
        System.out.println("HelloIf End");
    }
}


i = 1, j = 2であるため、条件式  i < j  に合致しますので、次の情報がスクリーンに出力されます。
C:\Java>javac HelloIf.java
C:\Java>java HelloIf
HelloIf Start
i <= j
HelloIf End


HelloIf.java
public class HelloIf {
    public static void main(String[] args) {
        int i = 1;
        int j = 2;
        System.out.println("HelloIf Start");
        if (i == 1 && j == 1) {
            System.out.println("i == j == 1");
        } else if (i == 1) {
            System.out.println("i == 1, j != 1");
        } else if (j == 1) {
            System.out.println("i != 1, j == 1");
        } else {
            System.out.println("i != 1, j != 1");
        }
        System.out.println("HelloIf End");
    }
}


i = 1, j = 2であるため、条件式i == 1, j != 1に合致しますので、次の情報がスクリーンに出力されます。
C:\Java>javac HelloIf.java
C:\Java>java HelloIf
HelloIf Start
i == 1, j != 1
HelloIf End


条件式の評価


条件式の値は true(真)か、false(偽)かを評価するには、次の演算式を用います。
※true:条件式は「真」であることを示す値です、例:1 == 1は「真」です。
※false:条件式は「偽」であることを示す値です、例:1 != 1は「偽」です。

演算式     説明    
==      左右両辺の値が等しいかを判定します。等しい場合、true、そうでない場合、false。     i == j
!=     左右両辺の値が等しくないかを判定します。等しくない場合、true、そうでない場合、false。     i != j
>     左辺の値は右辺より大きいかを判定します。大きい場合、true、そうでない場合、false。     i > j
>=     左辺の値は右辺より以上の値であるかを判定します。以上の場合、true、そうでない場合、false。     i >= j
<     左辺の値は右辺より小さいかを判定します。小さい場合、true、そうでない場合、false。     i < j
<=     左辺の値は右辺より以下の値であるかを判定します。以下の場合、true、そうでない場合、false。     i >= j
&&     左右両辺の式の値がともに true の場合、true になり、そうでない場合、false。     i == 1 && j == 2
||     左右両辺の式の値どちらか true の場合、true になり、そうでない場合、false。     i == 1 || j == 2

有关作者
Syboos.jp編集長AJavaやオープンソース情報の執筆、Webサイトの開発や運営全般の業務に携わる。

Sponsored Link


Comments

用户名 (required)

Email (will not be published) (required)

URL

Evaluation