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

条件演算子は 3 つの値を必要とする演算子で三項演算子とも呼ばれます。条件式の真偽に応じて二つの値を返すことができ、あたかも if 文のような処理を行うことができます。ここでは条件演算子の使い方について解説します。

(Last modified: )

条件演算子の使い方

条件演算子は三項演算子とも呼ばれる演算子で条件式の真偽に応じてそれぞれ異なる値を返すことができます。書式は次の通りです。

条件式 ? 式1 : 式2

条件式が true の場合は式1を評価した値を返します。 fales の場合は式2を評価した値を返します。 3 つの式をそれぞれ指定し、式1と式2は評価した結果として何らかの値を返す必要があります。

次のサンプルを見てください。

int score = 76;
String result = score > 70 ? "OK" : "NG";

System.out.println(result);   // OK

変数 score の値が 70 よりも大きい場合には "OK" を、そうでない場合には "NG" を式全体として返します。

条件演算子は if 文を用いることで同じような処理を記述することができます。

int score = 76;
String result;

if (score > 70){
  result = "OK";
}else{
  result = "NG";
}

System.out.println(result);   // OK

if 文の方は条件文に従って複数の文を実行することができますが、内容によっては簡潔に記述できる条件演算子の方が便利な場合もあります。

サンプルコード

それでは簡単なサンプルプログラムを作って試してみます。テキストエディタで次のように記述したあと、 JSample13-1.java という名前で保存します。

class JSample13_1{
  public static void main(String[] args){
    int score;

    score = 70;
    System.out.print("Score=" + score + ":");
    System.out.println(score > 70 ? "OK" : "NG");

    score = 84;
    System.out.print("Score=" + score + ":");
    System.out.println(score > 70 ? "OK" : "NG");
  }
}

コンパイルを行います。

javac -encoding UTF-8 JSample13_1.java

その後で、次のように実行してください。

java JSample13_1

条件演算子の使い方(1)

条件演算子を System.out.println メソッドの中で記述して、条件演算子を使って式の評価した結果を直接出力しました。

-- --

条件演算子の使い方について解説しました。

( Written by Tatsuo Ikura )

Profile
profile_img

著者 / TATSUO IKURA

プログラミングや開発環境構築の解説サイトを運営しています。