Java の疑問符とコロン

Mohammad Irfan 2023年10月12日
  1. Java で疑問符とコロン演算子を使用する
  2. Java でネストされた疑問符とコロン演算子を使用する
Java の疑問符とコロン

このチュートリアルでは、Java で疑問符とコロン演算子を使用する方法を紹介し、トピックを理解するためのサンプルコードをいくつか示します。

疑問符とコロン演算子は、3つのオペランドで機能するため、Java ではまとめて三項演算子と呼ばれます。

これは、Java の if ... else ステートメントの簡略化されたソリューションであり、意思決定のための 1 行のステートメントとして使用できます。いくつかの例を見てみましょう。

Java で疑問符とコロン演算子を使用する

三項演算子は 3つのセグメントで構成されています。1つ目は、ブール値を返す条件式です。2 番目と 3 番目は、コロンの前後の値です。条件式が true と評価された場合、コロンの前の値を返します。それ以外の場合は、後の値を返します。その構文は以下のとおりです。

condition ? value1 : value2;

以下の例を参照してください。

public class SimpleTesting {
  public static void main(String[] args) {
    int a = 10;
    int b = 20;
    boolean result = a > b ? true : false;
    System.out.println(result);
  }
}

出力:

false

三項演算子から任意のタイプの戻り値を取得できます。以下の例では、文字列値を渡し、条件に基づいて返される文字列値を取得します。

public class SimpleTesting {
  public static void main(String[] args) {
    int a = 10;
    int b = 20;
    String result = a > b ? "True" : "False";
    System.out.println(result);
  }
}

出力:

False

以下の例は、Java での三項演算子のユースケースです。この 1 行の条件文を使用して、指定された文字列が小文字であるかどうかを確認し、文字列が小文字である場合は大文字に変換します。それ以外の場合は、元の文字列を返します。

public class SimpleTesting {
  public static void main(String[] args) {
    String str = "mango";
    String result = str.equals(str.toLowerCase()) == true ? str.toUpperCase() : str;
    System.out.println(result);
  }
}

出力:

MANGO

これは、指定された整数が正の整数であるかどうかを確認し、文字列値を返す三項演算子のもう 1つの使用例です。以下の例を参照してください。

public class SimpleTesting {
  public static void main(String[] args) {
    int val = 10;
    String result = val > 0 ? "Positive Integer" : "Negative Integer";
    System.out.println(result);
  }
}

出力:

Positive Integer

Java でネストされた疑問符とコロン演算子を使用する

この例では、ネストされた三項演算子を使用して、if ... else ステートメントの場合と同じようにこれを実行できるかどうかを確認します。ここでは、最初に指定された整数が正の整数であるかどうかを確認し、次に指定された範囲内にあるかどうかを確認して、文字列値を返します。以下の例を参照してください。

public class SimpleTesting {
  public static void main(String[] args) {
    int val = 10;
    String result = val > 0 ? (val > 5) ? "Greater Than 5" : "Less Than 5" : "Negative Integer";
    System.out.println(result);
  }
}

出力:

Greater Than 5

関連記事 - Java Operator