【问题标题】:The following Boolean expression will be evaluated to what value? !(false) && (5 > 4)以下布尔表达式将被评估为什么值? !(假) && (5 > 4)
【发布时间】:2020-01-26 13:32:33
【问题描述】:

以下布尔表达式将被评估为什么值?

!(false) && (5 > 4)

我会认为它被评估为假,有人可以解释发生了什么使它成为真的吗?

【问题讨论】:

  • !(false) 是真的
  • (5 > 4)也是true
  • 您可以运行一个程序来找出答案。目前尚不清楚您为什么不能这样做。

标签: java conditional-operator


【解决方案1】:
  • 您正在使用&& 运算符。这意味着您的第二个条件将是 考虑。

  • ! 表示否定false 的否定给出true

  • 5 > 4 始终为true

  • 所以,这里true && true 给出true

【讨论】:

    【解决方案2】:
    !(false) && (5 > 4)
    
    !(false) = true //because of !(not) operator
    
    (5 > 4) = true
    
    so 
    
    true && true = true
    

    【讨论】:

      【解决方案3】:

      我会认为它被评估为假,有人可以解释发生了什么使它成为真的吗?

      && 计算其左侧操作数,如果该值为 false,则结果为 false;否则,它评估其右手操作数并将该结果作为其结果。以

      开头
      !(false) && (5 > 4)
      

      !(false)true,所以是:

      true && (5 > 4)
      

      由于true 不为假,&& 计算右侧操作数:

      (5 > 4)
      

      (5 > 4) 也是true,所以&& 结果是true

      【讨论】:

      • (很抱歉之前的 JavaScript 回答了这个问题。)
      猜你喜欢
      • 1970-01-01
      • 2013-12-15
      • 1970-01-01
      • 2019-09-16
      • 1970-01-01
      • 2019-07-01
      • 1970-01-01
      • 1970-01-01
      • 2017-12-26
      相关资源
      最近更新 更多