若第一个表达式不能决定最后的结果

若第一个表达式不能决定最后的结果

int n=3;

boolean b=((n++)<2)‖(3<7)问:b=?,n+?

若第一个表达式的值不能决定表达式的结果,‖还能叫短路运算符吗?这时n为多少?求解

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

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

2回答
好帮手慕雪 2017-10-12 16:25:24

‖就是短路运算符,不管第一个表达式的值能不能决定表达式的结果,它都叫短路运算符。只不过第一个为真时,就不执行第二个表达式了,第一个为假时还要执行第二个表达式。而&&是第一个表达式为假时,那么后面的就不存执行了。最后b为true,n=4。祝:学习愉快



100W 2017-10-12 08:59:47

我的理解:短路运算符先判断前面,前面的为true则后面的就不看了(与&&对比,&&即使前面的为true,也要继续判断后面的),这里前面为false,所以还要判断后面的。因为前面的已被程序运行,所以n++是生效的,最后b为true,n=4

问题已解决,确定采纳
还有疑问,暂不采纳

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

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

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

在线咨询

领取优惠

免费试听

领取大纲

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