【问题标题】:Java expression typeJava 表达式类型
【发布时间】:2014-06-25 10:42:22
【问题描述】:

我在 Java 手册上看到一个问题一直在磨我的齿轮,所以我把它贴在这里一劳永逸地解决它。

问题是:

如果 n 和 k 是 int 类型,那么 ' n > k && k

可能的答案:byte、boolean、int、double,不会编译。

感谢您的建议。

【问题讨论】:

  • 打开你最喜欢的IDE并自己检查

标签: java types expression theory


【解决方案1】:

一个简单的检查方法是使用例如Ideone 打印它。检查this link 以查看演示。

也就是说,表达式的计算结果为boolean。由于<> 的优先级高于&&,因此表达式等价于(n > k) && (k < 0),这样更容易解释。

【讨论】:

  • ideone.com/P57hUQ - 值被“装箱”到 java.lang.Boolean,如果它是 int、byte 或布尔值以外的任何值,情况就不会如此。
【解决方案2】:

布尔值

这个表达式通常用在条件中,返回真或假。

【讨论】:

    【解决方案3】:

    它是布尔值,因为:(n > k && k

    • n > k 返回布尔值

    • k

    • boolean && boolean 是 boolean

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-10-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-11-12
      • 2023-03-22
      相关资源
      最近更新 更多