【问题标题】:Operator ! cannot be applied to int操作员 !不能应用于 int
【发布时间】:2019-12-30 03:39:54
【问题描述】:

在 C++ 中,!1 表示 false,相当于 0。我在 Java 中应用了相同的规则,但 IDE 告诉我 ! 不能应用于 int。在 Java 中有什么方法可以将 ! 应用于 int 而不仅仅是写 truefalse

【问题讨论】:

  • 没有。 Java 不允许您将除 boolean 或 Boolean 之外的任何内容视为布尔值。
  • ...我很高兴。
  • 为什么不直接使用i != 0 而不是!i
  • Official doc ! 逻辑补码运算符;反转 boolean 的值

标签: java operators not-operator


【解决方案1】:

不,不是在 Java 中。
在爪哇!只能对布尔值作为否定运算符进行操作,1/0 在 Java 中不被视为布尔值

【讨论】:

    【解决方案2】:

    !仅适用于 Java 中的布尔值或条件语句的结果。您可以做的最接近的事情是if (x == 1)boolean y = x == 1

    【讨论】:

      【解决方案3】:

      不,运算符不适用于原始数据类型,当然,布尔值除外。使用!0 只会导致错误。尽管 0 和 1 可以被视为布尔值,但它们在 Java 中却不是。否定运算符仅适用于布尔值。像!0 这样的东西是:

      boolean alwaysfalse = (0 != 0);
      

      boolean alwaysTrue = (0 == 0);
      

      【讨论】:

        猜你喜欢
        • 2015-12-11
        • 2013-11-06
        • 2016-05-15
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-05-16
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多