【问题标题】:What's the meaning of these Java operators?这些 Java 运算符的含义是什么?
【发布时间】:2012-03-13 13:47:17
【问题描述】:

这个问题听起来很愚蠢,但老实说,我在任何地方都找不到答案……运算符“^=”、“|=”和“?”是什么意思?在Java中是什么意思?谢谢..

【问题讨论】:

标签: java operators


【解决方案1】:

符号x ^= y;x = x ^ y;含义相同。

^ 运算符是按位异或,| 运算符是按位或(请参阅Bitwise operation)。

就像x += y; 表示x = x + y; 等。

对于?,请参阅Ternary operator

【讨论】:

  • 和?用作 IF 函数 a = condition ?真:假;
  • @AlejoBrz - 它叫做ternary
【解决方案2】:
  • x^=yx = x^y 的缩写
  • x|=yx = x | y 的缩写
  • ? 是条件运算符。这是 if / else 语句的快捷方式。它的用途备受争议。

【讨论】:

  • 它被称为ternary 运算符,你为什么会说它是“有争议的”?
  • @BrianRoach 我可能不会称之为有争议,但有些人不喜欢它,因为它会使代码的可读性降低。
  • @Jim - 我会......礼貌地不同意你的观点 :-D 我从来没有与任何人一起工作过或遇到过任何人认为他们难以阅读或用任何语言表达不喜欢的人,没关系只是java。我会在它们适合时使用它们。
  • @BrianRoach 三元和条件是同义词。您和 Jims 的评论是有争议的辩论的一个很好的例子。我个人会在合适的时候使用它(必须定义什么)。
  • @BrianRoach This 是第一个搜索“三元”的搜索结果,其中包括有关名称和用途的讨论。
【解决方案3】:

他们都被Java tutorial覆盖了。

问号用于三元运算符,是 if-then-else 的简写。例如,

int i = 1;
System.out.println ( i == 0 ? "No" : "Yes" );

如果i 为0,则打印“No”,否则打印“Yes”。

另外两个用于bitwise assignments

【讨论】:

    【解决方案4】:
    |= assignment operator -> bitwise inclusive OR
    ^= assignment operator -> bitwise exclusive OR
    ? logical operator as in booleanValue == true ? something() : somethingElse()
    

    【讨论】:

    • ? :ternary 运算符。
    【解决方案5】:
    • ^ 是异或运算符
    • | 是按位或运算符
    • ? 是三元运算符。

    前两个后面有= 运算符,因为这是一种快捷方式。例如x |= yx = x | y 相同。

    有关它们的更多详细信息可以在 Internet 上的数以千计的网站上找到。

    【讨论】:

      猜你喜欢
      • 2015-10-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-10-29
      • 2013-02-18
      相关资源
      最近更新 更多