条件分岐 (? : )

2010 年 4 月 11 日 日曜日  【 カテゴリー: Javaの基本


[条件分岐 関連記事]
条件分岐 (if文)
関係演算子、等価演算子
条件分岐 (switch文)
条件分岐 (? : )

「?: 文」は条件分岐処理の1つで、条件が真か偽により処理を分岐します。
if文」を短縮して書いたような記述方法になります。

基本構文

条件式 ? 真の場合の文 : 偽の場合の文 

if(条件式) 真の場合の文 else 偽の場合の文」を短縮したような構文になっています。
注意点としては条件の分岐結果が変数やリテラルなどの値になっていなければならないことです。よく代入演算子と一緒に利用します。

サンプル

public class sample01 {
    public static void main(String[] args) {
        char variable;
        boolean result = true;
        if(result){
            variable = '真';
        }else{
            variable = '偽';
        }
        System.out.print(variable);
    }
}

まずはif文です。変数resultの結果により変数variableに「真」という文字を代入するか「偽」という文字を代入するか分岐します。そして10行目で変数variableの値を表示しています。
この処理を 「? : 」文で書いてみます。

public class sample01 {
    public static void main(String[] args) {
        char variable;
        boolean result = true;
        variable = (result)? '真' : '偽';
        System.out.print(variable);
    }
}

5行目が「?:」文です。変数resultの結果により真ならば文字「真」を、 偽ならば文字「偽」を変数variableに代入しています。

public class sample01 {
    public static void main(String[] args) {
        char variable;
        int result = 60;
        variable = (result >= 80)    //if (result >= 80)
                   ? 'A'
                   : (result >= 30)  //else if (result >= 30) 
                   ? 'B'
                   : 'C';            //else
        System.out.print(variable);
    }
}
B

「if - else if - else」文のような書き方もできます。
「 条件式? 」 が「 if (条件式) 」に、「 : 」が「else 」に対応しています。
この記述方法に慣れればコードが短くなりますし、場合によってはコードが見やすくなります。



[条件分岐 関連記事]
条件分岐 (if文)
関係演算子、等価演算子
条件分岐 (switch文)
条件分岐 (? : )

にほんブログ村 IT技術ブログ Webサイト構築へ
にほんブログ村
【WEBサイト構築・プログラムブログ】
ランキング参加中!よろしければ「クリック」お願いします。
にほんブログ村 IT技術ブログ プログラム・プログラマへ
にほんブログ村
2010 年 4 月 11 日 日曜日  【 カテゴリー: Javaの基本

コメントをどうぞ

※管理者による確認後に表示されます。表示までしばらくお待ちください。