冷知识: || 运算符到底有没有短路效果

举报
负债程序猿 发表于 2022/02/18 22:08:00 2022/02/18
【摘要】 又是个小知识点 &&叫短路与:有false为false|| 叫短路或:有true为true 顾名思义,这两个符号在特定情况下要短路 开始验证 先验证 && 码来~...

又是个小知识点

  • &&叫短路与:有false为false
  • || 叫短路或:有true为true

顾名思义,这两个符号在特定情况下要短路

开始验证

先验证 &&

码来~
在这里插入图片描述
结果很好理解,第一个条件为false,所以后面的条件就被短路不执行了

但是当我在测试短路或 || 的时候,发现不对劲,这玩意儿难道没有短路效果?
在这里插入图片描述
结果居然是1

这说明后面的 i++ 执行了,说好的短路呢?

找了很多文档来看,发现网上都没这方面的资料

于是去群里和兄弟们讨论,分分钟破案

在这里插入图片描述
将第一个条件改为true后再次验证
在这里插入图片描述
靠谱,靠大谱

所以真相是短路体现的情况不同

总结来了:

  • 对于&&:短路体现在第一个条件为false时,因为只要有false结果就为false,后面的条件不需要再执行;
  • 对于 || :短路体现在第一个条件为true时,因为只要有true结果就为true,后面的条件不需要再执行;

ok我话说完

文章来源: huangjie.blog.csdn.net,作者:负债程序猿,版权归原作者所有,如需转载,请联系作者。

原文链接:huangjie.blog.csdn.net/article/details/122668648

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。