Scala 中 & 和 && 的区别?

Difference between & and && in Scala?

我想弄清楚 Scala 中 & 和 && 的区别。搜索后得到了这个

& <-- verifies both operands

&& <-- stops evaluating if the first operand evaluates to false since the result will be false

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

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

val first = false
val second = true

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

将在退出 if 条件之前评估 firstsecond,尽管我们知道一旦 false 出现在逻辑 AND 中,整个表达式将已经产生 false。

这就是 && 的用途,它所做的是使评估短路,这意味着您只评估 firsts 值然后退出条件。

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