A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© Be_myself 中级黑马   /  2014-6-12 23:34  /  1382 人查看  /  12 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

|和||的区别?   比如说i>3||k<5, 为什么i>3为真,k<5就不再计算了

12 个回复

倒序浏览
||:左边为真,则一定为真,所以右边的不用判断了
回复 使用道具 举报
逻辑或运算中,只要有一个为真,整个表达式就是真,
使用  ||, 因为i>3为真,所以后面不论k<5是真还是假,整个表达式都为真。所以后面的不用判断了
使用  | ,不管i>3是否为真,后面的都要在进行判断。
其实  || 可以说是对 | 的优化
回复 使用道具 举报
||  叫做"短路或"  , 见名知意,  i>3 || k<5;     i > 3为真就不再执行后面.可以理解为后面被短路.
而逻辑  |  判定完 i > 3;还要继续判定 k < 5;
所以 短路 || 比 逻辑 | 的效率相对要高,算是 逻辑或 |  的优化吧.开发中一般都用 ||.
希望可以帮到你.

评分

参与人数 1技术分 +1 收起 理由
李小然 + 1

查看全部评分

回复 使用道具 举报 1 0
老毕 有讲过哦:call:
回复 使用道具 举报
一个或符号代表左右俩边都参与运算,而两个或如果左边为真那么右边不运算 如果左边为假那么右边参与运算 至于为什么会这样  java语音的特性吧   你记住就好了  就好像你为什么叫这个名字啊  没有为什么   另外在实际开发中基本上都用双或  双活比较常见   因为双或的效率比单或的效率要高 希望能帮助你  {:3_57:}
回复 使用道具 举报
||:判断左边为真就不管右边了,因为不论右边是不是真,其结果都为真
| :判断完左边依旧还要判断右边

所以一边我们用||,他效率高一些
回复 使用道具 举报
导火索说的和好奥
回复 使用道具 举报
夏季熬成了秋 发表于 2014-6-13 00:07
||  叫做"短路或"  , 见名知意,  i>3 || k 3为真就不再执行后面.可以理解为后面被短路.
而逻辑  |  判定完  ...

谢谢, 说的很好,有帮到我
回复 使用道具 举报
我为你着迷 发表于 2014-6-13 07:04
一个或符号代表左右俩边都参与运算,而两个或如果左边为真那么右边不运算 如果左边为假那么右边参与运算 至 ...

谢谢,很受用
回复 使用道具 举报
a6217815 发表于 2014-6-13 10:02
||:判断左边为真就不管右边了,因为不论右边是不是真,其结果都为真
| :判断完左边依旧还要判断右边

谢谢你的回答,很受用
回复 使用道具 举报
看视屏啦!
回复 使用道具 举报
或操作,要求前后几个表达式只要有一个true,则最终结果就是true,如果全都是false,则最终结果才是false;
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马