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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

关于逻辑运算符,我列举了几个问题,发现已经把自己绕晕了,请求大神帮忙解答下,输出的a,b数值。谢谢。

QQ截图20170309004010.jpg (51.41 KB, 下载次数: 13)

QQ截图20170309004010.jpg

8 个回复

倒序浏览
第一个输出里,前面为真后面为假,输出假,输出后,b自增为7。第三个输出,前面为假,后面被短路,不判断b++>9,输出假,a自增为5,b不自增仍为7。第六个输出,前后都为假,输出假,a自增为6,b自增为8。第9个输出,前后都是假,输出假,b自增为9。第十个前面为真,后面再次被短路,至此a为6,b为9
来自宇宙超级黑马专属安卓客户端来自宇宙超级黑马专属安卓客户端
回复 使用道具 举报
SD.LZ 发表于 2017-3-9 01:20
第一个输出里,前面为真后面为假,输出假,输出后,b自增为7。第三个输出,前面为假,后面被短路,不判断b+ ...

大神
来自宇宙超级黑马专属安卓客户端来自宇宙超级黑马专属安卓客户端
回复 使用道具 举报
做这个要注意的是程序的运行顺序,还有就++运算的顺序,这两点弄懂了,这道题就简单了!
来自宇宙超级黑马专属苹果客户端来自宇宙超级黑马专属苹果客户端
回复 使用道具 举报
1楼正解。如果把&& 换成 & ,|| 换成 |,又是不一样的结果。&是无论左边是false还是true,右边都会执行,&&具有短路效果。左边是false,右边不执行。|| 跟 | 同理
回复 使用道具 举报
281496929 发表于 2017-3-9 02:15
大神

刚开始学习。楼主这个主要涉及就是++在前和在后的区别还有逻辑运算符的短路原理。
来自宇宙超级黑马专属安卓客户端来自宇宙超级黑马专属安卓客户端
回复 使用道具 举报
SD.LZ 发表于 2017-3-9 01:20
第一个输出里,前面为真后面为假,输出假,输出后,b自增为7。第三个输出,前面为假,后面被短路,不判断b+ ...

"第六个输出,前后都为假,输出假,a自增为6,b自增为8。"前后都为假,为啥都自增呢?
回复 使用道具 举报
SD.LZ 发表于 2017-3-9 01:20
第一个输出里,前面为真后面为假,输出假,输出后,b自增为7。第三个输出,前面为假,后面被短路,不判断b+ ...

"第六个输出,前后都为假,输出假,a自增为6,b自增为8。"
我想起来了,| | 前后都为假,不产生短路,对逻辑输出值有影响,但不影响a,b运算。
回复 使用道具 举报
mrwalker 发表于 2017-3-9 09:04
1楼正解。如果把&& 换成 & ,|| 换成 |,又是不一样的结果。&是无论左边是false还是true,右边都会执行,&& ...

谢谢
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马