【问题标题】:java - What does || mean in a conditional statement? [duplicate]java - 做什么||在条件语句中是什么意思? [复制]
【发布时间】:2016-12-30 14:37:22
【问题描述】:

这是什么意思:

if (value > 10 || value == 20) {

任何答案都会很好。谢谢!

【问题讨论】:

标签: java


【解决方案1】:

||是短路“或”布尔运算符

如果左边的表达式计算结果为真,则不需要计算右边的表达式,因为条件已经满足

【讨论】:

    【解决方案2】:

    意思是或。 如果这两个选项之一为真,则 if 语句为真。

    注意:
    && = AND 和 || = 或者有简短的评估。因此,如果其他条件无法更改状态,它将不会继续。

    http://www.cs.columbia.edu/~lennox/3101-03/class1-slides/logical.html

    https://docs.oracle.com/javase/tutorial/java/nutsandbolts/op2.html:

    && 和 ||运算符执行条件与和条件或 对两个布尔表达式的操作。这些运营商展示 “短路”行为,这意味着第二个操作数是 仅在需要时进行评估。

    && 条件与 ||条件或

    【讨论】:

    • @BackSlash 看到这个链接和第一个答案stackoverflow.com/questions/8759868/…
    • @MarrieteCowby12 我知道运算符短路,但由于逻辑运算,这是一个副作用。这些被称为条件运算符,而不是短路运算符。而| 不是 plain 或者,它是按位或,这是不同的。 docs.oracle.com/javase/tutorial/java/nutsandbolts/…
    • | 是一个“普通或”——当与布尔操作数docs.oracle.com/javase/specs/jls/se8/html/…一起使用时不是按位或
    • @LewBloch 当他现在知道它是什么时,他可以轻松地用谷歌搜索它。但是添加了链接。在大多数情况下,您真的不在乎它是否短路。 Java只有一个逻辑或,它的运算符是||。短路的事实只是逻辑或在java中实现的方式。如果更早知道结果,那么它只是可以加速解决长条件的最佳化,因此不需要评估其余部分。 AndriiAbramov 和 LewBloch 都被标记为粗鲁行为。
    【解决方案3】:

    这是一个 OR 条件语句。在您的特定情况下,如果值大于 10 或等于 20,则将执行 if 块中的语句。 希望这能解释你想问的问题。

    【讨论】:

      猜你喜欢
      • 2011-11-18
      • 2013-05-30
      • 1970-01-01
      • 1970-01-01
      • 2012-08-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多