【发布时间】:2011-12-10 11:54:58
【问题描述】:
(a > b) & (c b) 首先评估。如果 (a > b) 为假,则整个表达式为 无论组件的结果如何 (r b) && (c b) 评估为假。这被称为短 电路。
在一本 Java 书籍中看到这一段。我以前一直在用各种语言进行编程,但我从来没有发现需要'&'。如果知道最终结果不受第二个语句的影响,为什么还要评估第二个语句?有什么用吗?是历史原因造成的吗?
同样的问题适用于 |和 ||也是。
【问题讨论】:
-
谁是
e和r?你有一本印错很严重的书,还是凭记忆打出来的? -
我建议你扔掉那本书,它让你的大脑充满了垃圾。正如其他人会告诉你的那样,
&和&&之间的区别是 not 评估顺序,并且将&与(a > b)之类的布尔表达式一起使用是没有意义的。 -
“Java 程序员实用指南”M.Sikora,amazon.com/Java-Practical-Guide-Programmers-Guides/dp/… 第 26 页。直接从书本中拿出来。