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

网友投稿 692 2022-05-30

又是个小知识点

&&叫短路与:有false为false

|| 叫短路或:有true为true

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

开始验证

先验证 &&

码来~

结果很好理解,第一个条件为false,所以后面的条件就被短路不执行了

但是当我在测试短路或 || 的时候,发现不对劲,这玩意儿难道没有短路效果?

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

结果居然是1

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

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

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

将第一个条件改为true后再次验证

靠谱,靠大谱

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

总结来了:

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

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

ok我话说完

面向对象编程

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:git commit 规范【锦上添花系列】
下一篇:【Elasticsearch】ES查询不等于的实现方式比较 must_not NOT !=
相关文章