好吧,我已经阅读了很多资料,但它们的定义不同:
&& 是逻辑的逻辑运算符 conjunction//我想这是正确的
&& 是逻辑与运算符//I 认为这不准确 技术观点
- && 是 条件运算符执行 逻辑与//我认为这是对的 还有
虽然所有的理解都是正确的,但我会说第一个是最准确的。还是我弄错了?
最佳答案
在 C#、Java、C++、C 和其他几种语言中,&&
是 boolean AND 运算符的编程语言实现。它旨在解释以下事实(不适用于纯命题逻辑):
- 计算操作数的计算量可能很大
- 计算操作数可能会因异常而失败
- 计算操作数可能会进入无限循环
因此,编程语言中的 boolean 表达式实际上有四种可能的结果:true
、false
、“exception”和“infinite loop”。在某些情况下,一个人有两个 boolean 表达式,其中可以通过查看第一个表达式来确定第二个表达式是否成功。例如,对于表达式 foo != null
和 foo.bar == 42
,我们可以确定如果第一个表达式为假,那么第二个表达式将失败.因此,&&
运算符被设计为“短路”:如果左操作数的计算结果为假,则不计算右操作数。在所有两个操作数都成功评估为 true 或 false 的情况下,此规则产生的结果与实际评估两个操作数的结果相同,但它可以提高性能(因为可能根本不需要评估正确的操作数)和在不牺牲安全性的情况下增加紧凑性(如果注意构造表达式,使左操作数“保护”右操作数)。同样,如果左操作数的计算结果为真,||
将不会计算右操作数。
一个更简短的答案是,虽然 &&
受到 AND 的强烈启发,但它被设计为考虑到某些编程特性,并且 a && b
或许更应该被措辞作为“如果 a
为假则返回 false 的表达式,如果 a
为真则返回 b
的值”。
关于c# - 术语问题 : && operator,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5674594/