-1

重複の可能性:
疑問符「?」とは何ですか およびコロン「:」演算子は?に使用されます
Javaコードの疑問符

RBGからHSVへのコンバーターのコードを書いています。私はこの行を持っています:

var d = (r==minRGB) ? g-b : ((b==minRGB) ? r-g : b-r);

「?」が何なのかよくわかりません。「:」はここを意味します。

4

7 に答える 7

3

これは条件を作るための短い方法です:

  Condition ? Statment1 : Statement2;

意味

  If (Condition) {Statement1} else {Statement2}
于 2012-10-18T14:12:14.777 に答える
2

これは、Javaでは三項演算子と呼ばれます。

Javaチュートリアルに基づく

もう1つの条件演算子は?:です。これは、if-then-elseステートメントの省略形と考えることができます(このレッスンの「制御フローステートメント」セクションで説明します)。この演算子は、3つのオペランドを使用するため、3項演算子とも呼ばれます。

最初の式の結果がtrueの場合は、2番目のオペランドを値として割り当て、それ以外の場合は3番目のオペランドを値として割り当てます。

于 2012-10-18T14:10:18.773 に答える
2

そのTernary Operator

C = condition? A : B

と同等です

 if (condition){
  C=  A;
 } else{
   C=  B;
 }

ネスティングもサポートします。つまり C = condition1? A : condition2?D:E、と同等です。

 if (condition1){
   C=  A;
 } else if (condition2){
   C=  D;
 } else{
   C= E;
 }
于 2012-10-18T14:11:47.253 に答える
1

その意味は

if (r==minRGB)
  d = g-b
else
  if(b==minRGB)
     d=r-g
  else
    d=b-r
于 2012-10-18T14:11:47.457 に答える
0

その呼ばれるternary operator(?:):-

System.out.println(condition? value1 : value2);

上記の式は次のように評価されます。

if (condition) {
    System.out.println(value1); 
} else {
    System.out.println(value2);
}
于 2012-10-18T14:11:11.283 に答える
0

Cベースの言語では、次のことを意味します。:

基本的に、if-elseの省略形です。

于 2012-10-18T14:11:48.020 に答える
0

それは他の場合と同様に機能します

if (r==minRGB)
    d = g-b;
}else{
    if  (b==minRGB)
    {
        d = r-g;
    }else{
        d = b-r;
    }
}
于 2012-10-18T14:12:27.083 に答える