【问题标题】:What is ++== in Java?Java 中的 ++== 是什么?
【发布时间】:2019-02-16 18:39:21
【问题描述】:
  1. 搜索了这个网站,没有找到参考。
  2. 测试代码:

    int[] test = {0, 1, 2, 3};
    System.out.println("test1[3] ++== 0 is " + (test[3] ++== 0));
    
  3. 结果:

test1[3] ++== 0 为假

所以它一定是某种逻辑运算符,但我找不到任何文档。在互联网上搜索没有得到任何参考。

请帮忙?提前致谢。

【问题讨论】:

  • (test[3]++) == 0?

标签: java operators


【解决方案1】:

文字的呈现方式看起来像是特例++==,但实际上你应该这样阅读:

test[3]++ == 0

基本上,test[3]++ 的结果将与0 进行比较(即==)。

这基本上读作(test[3]=3) == 0,这是错误的。

++ 是一个后缀运算符,是value = value + 1 的快捷方式。

== 是两个值之间的比较。

文本只是格式错误,仅此而已。

【讨论】:

    【解决方案2】:

    ++== 是两个独立的运算符。 ++ 是在后递增 test[3] 的值,然后将其与 0 进行比较。

    【讨论】:

      【解决方案3】:

      x++==y 等价于x++ == y

      public class Test {
          public static void main(String args[]) {
      
              int[] test = {0, 1, 2, 3};
              System.out.println("test1[3] ++== 0 is " + (test[3] ++== 3));
          }
      }
      

      test1[3] ++== 0 将等同于 false

      test1[3] ++== 3 将等同于true

      【讨论】:

        【解决方案4】:

        这是两个运算符 - 加一 (x++) 并测试相等性 (x==0)。你应该把它读成(x++) == 0

        棘手的是,增量发生在比较之后,所以上面的意思是“测试X是否为零,然后将X加一”。

        【讨论】:

          【解决方案5】:

          由于 ++ 是后增量,您的操作可以分为:

          • 比较索引为 3 和 0 的元素 -> test[3] != 0 -> false
          • 索引为 3 的增量元素。-> test[3] = test[3] + 1;

          因此,test[3] 之后的值为 4

          【讨论】:

            猜你喜欢
            • 2011-02-12
            • 2011-07-19
            • 2016-09-02
            • 2010-12-10
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2011-05-15
            相关资源
            最近更新 更多