在Scala中,&和&&的区别是什么?

16 浏览
0 Comments

在Scala中,&和&&的区别是什么?

这个问题在这里已经有答案了

Java/Scala中的非短路逻辑(布尔)运算符有好的用途吗?

|和||或运算符有什么区别?

为什么位运算符&不短路?

我正在尝试弄清楚Scala中&和&&之间的区别。在搜索后,我得到了以下结果:

& <-- 验证两个运算对象

&& <-- 如果第一个运算对象的结果为false,则停止评估,因为结果将为false

能否有人通过示例解释相同的问题,因为我不清楚这里验证两个运算对象意味着什么。我们只是谈论布尔值吗?

admin 更改状态以发布 2023年5月22日
0
0 Comments

Scala中有两个逻辑 AND 运算符。第一个形式是 &,会评估两个操作数的值,例如:

val first = false
val second = true
if (first & second) println("Hello!")

在退出 if 条件之前,会评估 firstsecond,尽管我们知道如果逻辑 AND 中出现了 false,整个表达式将已经计算出 false。

这就是 && 的作用,它会短路计算,也就是只会评估 first 的值,然后退出条件判断。

你可以使用按位 AND(&)对整数进行按位操作,这与大多数编程语言类似。

0