1. ホーム
  2. java

[解決済み] クエスチョンマーク"? "とコロン": "演算子は何に使うのですか?重複

2022-03-11 21:42:42

質問

print関数の括弧内でのクエスチョンマーク"?"とコロン":"演算子の使用について2点質問します。 これらはどのような働きをするのでしょうか?また、これらの標準的な用語を知っている人、またはこれらの使用に関する詳細な情報が得られる場所を知っている人はいますか? これらの演算子は、'if' 'else' ステートメントに似ていると読んだことがあります。

int row = 10;
int column;
while (row >= 1)
{
    column = 1;
    while(column <= 10)
    {
        System.out.print(row % 2 == 1 ? "<" : "\r>");
        ++column;
    }
    --row;
    System.out.println();
}

解決方法は?

これは 三項演算子 print文だけでなく、あらゆる場所で使用することができます。単に"三項演算子"と呼ばれることもありますが 三項演算子はこれだけではありません。 最も一般的なものです。

Wikipediaに掲載されている、この仕組みの良い例があります。

<ブロッククオート

C言語、Java、JavaScriptにおける伝統的なif-else構文が書かれています。

if (a > b) {
    result = x;
} else {
    result = y;
}

これは、次のような文に書き換えることができます。

result = a > b ? x : y;

基本的にはこのような形になります。

boolean statement ? true result : false result;

つまり、ブーリアンステートメントが真であれば最初の部分を、偽であれば2番目の部分を得ることができるのです。

それでも理解できない場合は、これらを試してみてください。

System.out.println(true ? "true!" : "false.");
System.out.println(false ? "true!" : "false.");