猿问

请问这个应该怎么理解

:( one > two ) && ( one < three ) 中,如果能确定左边 one > two 运行结果为 false , 则系统就认为已经没有必要执行右侧的 one < three 啦。

同理,在( one > two ) || ( one < three ) 中,如果能确定左边表达式的运行结果为 true , 则系统也同样会认为已经没有必要再进行右侧的 one < three 的执行啦!


不明白之处就是为什么确定左边就不运行右边了,如果左边是true这个还是得运算右边是吧。但是如何左边确定是flase,右边也确定是flase两边都是假。那么输出是true??不太理解这个与的关系究竟是想表达什么?

hy_wang
浏览 1693回答 3
3回答

望远

&&:只有当两个操做数都为真时,结果才为真,否则为假。 ||:只有当两个操做数都为假时,结果才为假,否则结果为真。 那么当A&&B时,如果表达式A为假,则没必要判断B(只有当两个操做数都为真时,结果才为真,否则为假,已经确定为假了,这是&&逻辑运算的短路现象) 同理当A||B时如果A确定为true就没必要运算B了,已经确定表达式的结果为true,这也是||逻辑运算的短路现象。

蒲萍

就像数学里的且和或,交集与并集。数学里的逻辑判断,条件1且条件2,如果条件1为假,则不论条件2是真是假,整个结果都为假,所以没有必要再去判断条件2;条件1或条件2,如果条件1为真,则不论条件2是真是假,整个结果都是真,所以也没必要再去判断条件2

MR帽子先生

可以这么理解, &&的关系就像恋爱,两人相爱都为ture才能在一起,但是只要有一方分手为false就可以分手 ||就像是分手,一方同意ture就会分手,只有两个人都不同意false,才不分手希望这么解释你能明白,我在课上都是这么说的~~~
随时随地看视频慕课网APP

相关分类

Java
我要回答