【问题标题】:what does the "?" and ":" sign mean in a line of java code? [duplicate]“?”是什么意思?和“:”符号在一行java代码中是什么意思? [复制]
【发布时间】:2012-10-18 14:09:46
【问题描述】:

可能重复:
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);

我真的不明白什么是“?”而“:”就是这里的意思。

【问题讨论】:

  • var d?这不是java
  • 你说的是 JavaScript 吗?
  • 它的javascript。我正在用java编写rgb到hsv转换器。
  • @devilived javascript != java

标签: javascript processing


【解决方案1】:

这是创建条件的简短方法:

  Condition ? Statment1 : Statement2;

意思

  If (Condition) {Statement1} else {Statement2}

【讨论】:

  • 这个答案如何获得支持?这是错误的。三元运算符不适用于 java 中的语句
【解决方案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】:

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

    基于java tutorial

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

    如果第一个表达式的结果为真,则将第二个操作数赋值为值,否则将第三个操作数赋值为。

    【讨论】:

    • @Quoi:问题标题说java,这就是这个答案的原因。如果问题是关于 javascript 的,我很抱歉!
    • 好的。我很困惑var +1。 :)
    【解决方案4】:

    意思是

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

    【讨论】:

      【解决方案5】:

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

      它基本上是 if-else 的简写。

      【讨论】:

        【解决方案6】:

        它的工作原理类似于 if 而不是 else

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

        【讨论】:

          【解决方案7】:

          它叫ternary operator (?:):-

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

          上面的表达式计算如下:-

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

          【讨论】:

            猜你喜欢
            • 2015-02-13
            • 2012-08-13
            • 2013-10-06
            • 1970-01-01
            • 2014-07-28
            • 1970-01-01
            • 1970-01-01
            • 2012-12-11
            • 1970-01-01
            相关资源
            最近更新 更多