在线
客服

发布
需求

天盟
APP

天盟APP下载

关注
微信

微信扫一扫访问
顶部

请问这个应该怎么理解

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


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

免责声明:本内容仅代表回答会员见解不代表天盟观点,请谨慎对待。

版权声明:作者保留权利,不代表天盟立场。

使用道具 举报

全部参与2

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

使用道具 举报

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

使用道具 举报

发新帖
国内首家创新型IT技术需求众包服务平台,软件需求就上天盟网! 立即登录 立即注册