什么是“?”和“:”符号表示一行java代码?

时间:2012-10-18 14:09:47

标签: javascript processing

  

可能重复:
  What is a Question Mark “?” and Colon “:” Operator Used for?
  Question mark in java code

我正在编写RBG到HSV转换器的代码。 我有这条线:

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

我真的不明白什么是“?”而“:”在这里意味着。

7 个答案:

答案 0 :(得分:3)

这是制定条件的简短方法:

  Condition ? Statment1 : Statement2;

意味着

  If (Condition) {Statement1} else {Statement2}

答案 1 :(得分:2)

这在java中称为三元运算符。

基于java tutorial

  

另一个条件运算符是?:,它可以被认为是if-then-else语句的简写(在本课程的控制流语句部分中讨论)。此运算符也称为三元运算符,因为它使用三个操作数。

如果第一个表达式结果为true,则将第二个操作数指定为值,否则将第三个操作数指定为值。

答案 2 :(得分: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;
 }

答案 3 :(得分:1)

这意味着

if (r==minRGB)
  d = g-b
else
  if(b==minRGB)
     d=r-g
  else
    d=b-r

答案 4 :(得分:0)

名为 ternary operator(?:) : -

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

上述表达式的评估如下: -

if (condition) {
    System.out.println(value1); 
} else {
    System.out.println(value2);
}

答案 5 :(得分:0)

在基于c的语言中,它意味着:     ? :

基本上是if-else的缩写。

答案 6 :(得分:0)

它的工作方式与if相似

if (r==minRGB)
    d = g-b;
}else{
    if  (b==minRGB)
    {
        d = r-g;
    }else{
        d = b-r;
    }
}