条件演算子(三項演算子)

広告

条件演算子は三項演算子とも呼ばれる演算子で条件によって処理を分けることができます。書式は次の通りです。

条件式 ? 式1 : 式2

条件式の値がtrueだった場合に式1を処理し、falseだった場合に式2を処理します。

次の例を見てください。

char c;
int num;

num = 20;
c = num >= 0 ? '正' : '負';

条件式に記述された「num >= 0」を評価します。変数「num」の値が20ですので正しく条件式はtrueとなります。よって「'正'」という式が処理されます。今回の場合は単なる値が書かれただけの式ですので何もしませんが、条件演算子では実行された式の値が全体の式の値となります。よって変数「c」には式全体の値である'正'が代入されます。

条件によって処理を分ける場合、通常はif文を使って行いますが、簡単なものであれば条件演算子を使っても記述することができます。

サンプル

では簡単なサンプルで試してみます。

JSample13_1.java

class JSample13_1{
  public static void main(String args[]){
    char c;
    int num;

    num = 20;
    c = num >= 0 ? '正' : '負';
    System.out.print(num + "は");
    System.out.println(c);

    num = -4;
    c = num >= 0 ? '正' : '負';
    System.out.print(num + "は");
    System.out.println(c);
  }
}

コンパイル後に実行すると次のように表示されます。

p13-1

( Written by Tatsuo Ikura )