【问题标题】:Difference between & and && in Scala? [duplicate]Scala中&和&&的区别? [复制]
【发布时间】:2017-12-17 16:38:36
【问题描述】:

我试图找出 Scala 中 & 和 && 之间的区别。我搜索后得到了这个

&

&&

有人可以用我不清楚的例子解释一下,这里验证两个操作数是什么意思。我们只是在谈论布尔值吗?

【问题讨论】:

标签: scala syntax bitwise-operators logical-operators operands


【解决方案1】:

在 Scala 中,两者都是逻辑 AND 运算符。第一种形式 & 将计算两个操作数的值,例如:

val first = false
val second = true

if (first & second) println("Hello!")

将在退出 if 条件之前同时计算 firstsecond,尽管我们知道一旦 false 出现在逻辑 AND 中,整个表达式就会产生 false。

这就是 && 的用途,它的作用是将评估短路,这意味着您只需要评估 firsts 的值,然后退出条件。

您可以使用按位与 (&) 对整数执行按位运算,这与大多数编程语言类似。

【讨论】:

  • 如果第一个值在 && 的情况下为真,那么呢?
  • @NeoWelkin 然后second 也将被评估以确定表达式的结果,因为它现在依赖于它。
猜你喜欢
  • 2013-06-09
  • 2017-03-31
  • 1970-01-01
  • 2017-04-12
  • 2011-11-04
  • 1970-01-01
  • 1970-01-01
  • 2013-06-16
  • 2017-01-22
相关资源
最近更新 更多