条件分岐 (if文)


[条件分岐 関連記事]

if文は条件分岐処理の1つで、条件が真か偽により処理を分岐します。

if (条件式) {真の場合の処理}

条件式の結果が「真」の場合のみ { } の中の処理を行います。

public class sample01 {
    public static void main(String[] args) {
        boolean result;
        result = true;    //★
        if(result){
            System.out.println("真です");
        }
    }
}
真です。

4行目でboolean型の変数resultに「true」を代入しました。
5行目の条件の結果は当然「真」になるので6行目が実行されます。
画面では「真です」と表示されます。

public class sample01 {
    public static void main(String[] args) {
        boolean result;
        result = false;    //★
        if(result){
            System.out.println("真です");
        }
    }
}
空白>

4行目でboolean型の変数resultに「false」を代入しました。
5行目の条件の結果は当然「偽」になるので6行目は実行されません。
6行目が実行されないので画面には何も表示されません。

public class sample01 {
    public static void main(String[] args) {
        int result;
        result = 5;
        if(result >= 3){
            System.out.print("結果:");
            System.out.println("3以上です");
        }
    }
}
結果:3以上です

4行目でint型の変数resultに「5」を代入しました。
5行目で変数resultが3以上であるかの条件判定を行っています。
変数resultの値5は3以上で結果が「真」なので6、7行目が実行されます。
{ } 内は複数の文になっても構いません。
今回は「結果:」を表示する文と「3以上です」を表示する文の2文です。

public class sample01 {
    public static void main(String[] args) {
        int result;
        result = 5;
        if(result >= 3) System.out.print("3以上です");
    }
}
3以上です

if文の結果の処理が1文のみである場合は { } を省略することができます。
サンプルでは「3以上です」を表示する文が1つだけなのんで省略しています。

public class sample01 {
    public static void main(String[] args) {
        int result;
        result = 1;
        if(result >= 3)
        System.out.print("文1です");
        System.out.print("文2です");
    }
}
文2です

4行目の変数resultへの代入を「1」にしました。
5行目の判定ですが変数result値の1は3以上を満たさないので「偽」です。
if文の後に { } がありません。サンプルは { } 省略型です。
{ } 省略型は1文のみが真の場合の処理でした。
ということは6行目だけが真の場合の処理で7行目はif文対象の処理ではありません。
よって真偽かかわらす7行目は実行されます。

if (条件式) {真の処理} else {偽の処理}

今までのサンプルでは条件式が「真」の場合のみ処理がされ「偽」の場合の処理は何もありませんでした。if-else構文を使うことにより「真」の場合の処理だけでなく「偽」の場合の処理も指定することができます。

public class sample01 {
    public static void main(String[] args) {
        int result;
        result = 1;
        if(result >= 3){
            System.out.print("真です");
        }else{
            System.out.print("偽です");
        }
    }
}
偽です

5行目の判定ですが変数result値の1は3以上を満たさないので「偽」です。
「偽」ですので 8行目のelse後の { } の処理を行います。

public class sample01 {
    public static void main(String[] args) {
        int result;
        result = 1;
        if(result >= 3){
            System.out.print("真です");
        }else
            System.out.print("偽です");
    }
}
偽です

else の場合も1文のみならば、{ }を省略することができます。

if (条件式1) {処理1} else if (条件式2) {処理2} else {処理3}

if-else構文では1つの条件に対して「真」の処理と「偽」の処理を分岐するだけでした。「else if」を使うことにより多分岐処理を行うことができます。

public class sample01 {
    public static void main(String[] args) {
        int result;
        result = 5;
        if(result >= 10){
            System.out.print("10以上です");
        }else if(result >= 5){
            System.out.print("5以上10未満です");
        }else{
            System.out.print("5未満です");
        }
    }
}
5以上10未満です

4行目でint型の変数resultに「5」を代入しました。
5行目の判定ですが変数result値5は10以上を満たさないので「偽」です。
「偽」なので else の 7行目に進みますが ここでさらに条件式があります。
7行目の判定ですが変数result値5は5以上を満たすので「真」です。
「真」なので if後の{ } 8行目の処理が実行されます。

このように 「else if 」により多分岐処理を行うことができます。
「else if 」は複数記述できるので 3分岐以上も可能です。


[条件分岐 関連記事]

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です