可能重複:
What is a Question Mark 「?」 and Colon 「:」 Operator Used for?
Question mark in java code什麼是「?」和「:」符號意味着在一行java代碼中?
我寫代碼的RBG到HSV轉換器。 我有這條線:
var d = (r==minRGB) ? g-b : ((b==minRGB) ? r-g : b-r);
我真的不明白什麼「?」和「:」在這裏表示。
可能重複:
What is a Question Mark 「?」 and Colon 「:」 Operator Used for?
Question mark in java code什麼是「?」和「:」符號意味着在一行java代碼中?
我寫代碼的RBG到HSV轉換器。 我有這條線:
var d = (r==minRGB) ? g-b : ((b==minRGB) ? r-g : b-r);
我真的不明白什麼「?」和「:」在這裏表示。
及其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;
}
這在java中被稱爲三元運算符。
另一個條件運算符是:?,它可以被看作是速記的if-then-else語句(在本節課的流程控制語句中討論)。該運算符也稱爲三元運算符,因爲它使用三個操作數。
如果第一個表達式結果爲true,則將第二個操作數指定爲值,否則將第三個操作數指定爲值。
它的JavaScript問題。 –
@喬伊:問題標題說java,這就是爲什麼這個答案。如果問題在javascript上,我很抱歉! – kosa
好的。我很困惑'var' +1。 :) –
其所謂ternary operator
(:): -
System.out.println(condition? value1 : value2);
上述表達式的計算,如: -
if (condition) {
System.out.println(value1);
} else {
System.out.println(value2);
}
這意味着
if (r==minRGB)
d = g-b
else
if(b==minRGB)
d=r-g
else
d=b-r
在基於C語言中,它是指: ? :
它基本上是一個if-else的短手。
這是爲了使條件的一小段路:
Condition ? Statment1 : Statement2;
手段
If (Condition) {Statement1} else {Statement2}
這個答案如何得到upvotes?這完全錯了。 Teriary運算符不適用於java – gefei
中的語句錯誤?你確定 ? –
它的工作類似,如果比其他
if (r==minRGB)
d = g-b;
}else{
if (b==minRGB)
{
d = r-g;
}else{
d = b-r;
}
}
'變種D'?它不是java – gefei
難道你是在談論JavaScript嗎? –
其javascript。我正在寫入rgb到java中的hsv轉換器。 – Parvesh