【问题标题】:What is the ^= operator? [closed]^= 运算符是什么? [关闭]
【发布时间】:2014-01-14 14:50:13
【问题描述】:

我刚刚在 SO 上遇到了一个答案,其中一个代码示例(我认为是 java)使用了一个我以前从未见过的运算符:^=。我搜索了 google 和 SO,但无法在其他任何地方找到它,当我尝试使用 java 对其进行测试时,eclipse 发疯了。也许这只是答案中的错字,我不确定。这个运算符是什么?它有名字吗?它来自或使用什么语言?

【问题讨论】:

    标签: java operators bitwise-operators


    【解决方案1】:

    这是 C/C++/C#/Java/Javascript/Perl/PHP/Pike 按位异或赋值运算符。

    XOR(异或)条件语句的计算结果为真当且仅当所涉及的两个操作数之一为真。

    示例:

    0 ^ 0 = false
    1 ^ 0 = true
    0 ^ 1 = true
    1 ^ 1 = false //Regular OR would evaluate this as true
    

    就像你可以使用+=-=*=/=等一样...这个操作符可以和等号结合来完成赋值。

    x += 1; //Same as x = x + 1;
    t ^= f; //Same as t = t ^ f;
    
    boolean a = false;
    boolean b = true;
    a ^= b; //a now evaluates to true;
    

    Java Operators

    【讨论】:

      【解决方案2】:

      在 php 手册中它说 ^ 是按位 XOR 运算符。 这是link

      【讨论】:

        【解决方案3】:
        【解决方案4】:

        它是 C/C++/C#/Java/Javascript/Perl 按位异或赋值运算符。

        【讨论】:

          【解决方案5】:

          在 jQuery 中它的意思是“从这个开始”

          例如 id^='我的_'

          表示“id以'my_'开头”

          【讨论】:

          • 如果问题是关于 Java 的,为什么要写一个关于 jQuery 的答案? (见标签)
          • @AurelioDeRosa 在写这个答案的时候,没有关于java的标签,只有operators
          • 是的,文本的结尾仍然像“它来自或使用什么语言?”
          【解决方案6】:

          这取决于语言,但 ^ 通常是异或(示例语言:java、c-family); a ^= b 是 a = a^b 的简写。

          【讨论】:

          猜你喜欢
          • 2011-02-04
          • 2012-05-22
          • 2019-06-10
          • 2012-10-29
          • 2013-02-18
          • 1970-01-01
          • 1970-01-01
          • 2016-03-25
          相关资源
          最近更新 更多