为了账号安全,请及时绑定邮箱和手机立即绑定

请问这个应该怎么理解

请问这个应该怎么理解

hy_wang 2017-06-28 21:44:58
:( one > two ) && ( one < three ) 中,如果能确定左边 one > two 运行结果为 false , 则系统就认为已经没有必要执行右侧的 one < three 啦。同理,在( one > two ) || ( one < three ) 中,如果能确定左边表达式的运行结果为 true , 则系统也同样会认为已经没有必要再进行右侧的 one < three 的执行啦!不明白之处就是为什么确定左边就不运行右边了,如果左边是true这个还是得运算右边是吧。但是如何左边确定是flase,右边也确定是flase两边都是假。那么输出是true??不太理解这个与的关系究竟是想表达什么?
查看完整描述

3 回答

已采纳
?
望远

TA贡献1017条经验 获得超1032个赞

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

查看完整回答
1 反对 回复 2017-06-28
  • hy_wang
    hy_wang
    我想请问就是 逻辑运算符都是输出只能是布尔型true和false这两种吗 还有就是 这是我们规定的 a||b a为false,b为true 为什么输出的不是false而是true 。 还是说这个逻辑运算时我们已经规定好了的定理一般,当一真一假的时候输出真。
  • 望远
    望远
    确实是只有true和false两种结果,但是也有的语言用1和0来表示这两个结果,当假||真时,我们知道,||运算当有一个是真就是true,那么这个结果也是true。
  • hy_wang
    hy_wang
    也就是可以这样理解是吗,假如说用1或者0表示。他会提前给数字强行转换类型为flase或者true,或者给1 .0进行注释。 就是说 本质上只有布尔型可以进行逻辑运算,也就是说逻辑运算只能输出flase或者true。有且只能有这两种输出(当然我说的本质上的,0 1 也是变相代表true和flase)当有一真一假出现的时候,我们就确定他是真的。这是我们认为规定的类似于定理 是吧 。 我这么理解是正确的吗
点击展开后面3
?
蒲萍

TA贡献7条经验 获得超0个赞

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

查看完整回答
反对 回复 2017-06-28
?
MR帽子先生

TA贡献245条经验 获得超106个赞

可以这么理解, &&的关系就像恋爱,两人相爱都为ture才能在一起,但是只要有一方分手为false就可以分手

||就像是分手,一方同意ture就会分手,只有两个人都不同意false,才不分手

希望这么解释你能明白,我在课上都是这么说的~~~

查看完整回答
反对 回复 2017-06-28
  • hy_wang
    hy_wang
    不是,我的意思是说。。逻辑运算符号输出只能是布尔型的吗,还是说这个只是举例
  • hy_wang
    hy_wang
    就比如说3<1 这是a 2<1 这是b 这个很明显两个ab都是不成立的 也就是flase 如果输出结果时候 需要a&&b 满足了a b相同都是false 这时候应该输出什么?
  • MR帽子先生
    MR帽子先生
    输出ture,成绩啊
点击展开后面2
  • 3 回答
  • 0 关注
  • 1655 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信