为什么这里用两个&&,不是只看a>b吗?谢谢解答

为什么这里用两个&&,不是只看a>b吗?谢谢解答

http://img1.sycdn.imooc.com//climg/5e60da970922b68c08150406.jpg为什么这里用两个&&,不是只看a>b吗?这里如果只看a>b的话,不就是 true了吗,不应该是第一种吗?

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

4回答
叶锦辉 2020-03-14 19:46:37

&&是第一个条件为true,则继续判断下一个;如果第一个为false,则直接跳过这行判断。

||是第一个条件为false,则继续判断下一个;如果第一个为true,则直接跳过这行判断。

是吧

好帮手慕小脸 2020-03-06 10:31:57

同学你好,当左边条件不成立时,就无需判断右边,这时候就起到了短路的作用。

http://img1.sycdn.imooc.com//climg/5e61b610095788f507380344.jpg

如果我的回答解决了你的疑惑,请采纳,祝学习愉快~


好帮手慕小脸 2020-03-06 09:43:12

同学你好,可以使用||,当左边满足条件时,不需要判断右边。

如下 这种:

http://img1.sycdn.imooc.com//climg/5e61aa960978a7b107350398.jpg

如果我的回答解决了你的疑惑,请采纳,祝学习愉快~

  • 提问者 慕函数0070469 #1
    不好意思,幕老师,我问错了,我想问的是,什么情况下,&&才起“短路”作用,什么情况下,&&才相当于“和”的意思
    2020-03-06 10:11:48
好帮手慕小脸 2020-03-05 19:04:57

同学你好,这里&&就相当于“和”的意思,也就是两边都要成立才可以。

所以a>b是成立的而b<c是不成立的,所以不可能是第一种。

如果我的回答解决了你的疑惑,请采纳,祝学习愉快~



  • 提问者 慕函数0070469 #1
    什么情况下才起到短路的作用呢?谢谢!
    2020-03-05 19:50:58
  • 成日不正经的 回复 提问者 慕函数0070469 #2
    当你的表达式第一条为false的时候(在你的代码里就是将a>b改为a<b就可以了)右边就不会执行了,因为&&运算符必须表达式结果都为true结果才是true。你可以再回看一下讲与逻辑运算符的那一小节。
    2020-03-08 09:56:01
  • 木子宝 回复 提问者 慕函数0070469 #3
    &&或者||的第一次判断已经可以获得结果就不会计算第二次判断,比如&&是需要获得两个true,如果第一次判断已经是false就必然结果是false,不会继续进行第二次判断,这就是短路。||同理,如果第一次判断是true,那么无需第二次判断,直接获得结果
    2020-03-10 17:59:26
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师