java 中 if (x--==1&&y++==1||z++==1)怎么理解!

 我来答
仁慈又奇巧灬长颈鹿4710
推荐于2017-10-05
知道答主
回答量:9
采纳率:0%
帮助的人:0
展开全部
因为&&的级别比||高,所以我们先做x--==1&&y++==1,&&左边部分的意思是x的值是否等于1,然后x的值再减一,右边的意思是y的值是否等于1,然后y再加一,如果两者都成立,这个表达式的值为true,否则为false,z++==1的意思是z的值是否为1,然后z加1,如果为1,则表达式的值为true,否则为false,因为是或,所以如果这个两个表达式中只要有一个为真,就可以执行if后面的语句,如果两个都为假,则不能满足
网文荔枝哥
2011-03-27 · 超过18用户采纳过TA的回答
知道答主
回答量:92
采纳率:0%
帮助的人:40.6万
展开全部

看看运算符的优先级,就可以解决了。还不知道就赋值测试一下。

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
gfmtd1
2011-03-27 · TA获得超过106个赞
知道小有建树答主
回答量:170
采纳率:100%
帮助的人:39.6万
展开全部
不建议这么写!!!
根据java运算符的优先级来,
1 先做- -、++就是先做x- -、y++、z++
2 再做==,就是比较双等号两边的是否相等(单等号是赋值)
3 接着做&&
4最后做||
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
声乐水中营3
2011-03-27
知道答主
回答量:46
采纳率:0%
帮助的人:21.1万
展开全部
如果(x1等于1并且y等于1,或者z等于1)
&&优先级别大于||
因为x++的意思是变量值先参加运算后变量加1
所以接着x减1z加1y加1
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
通信伟雄
2011-03-27 · TA获得超过169个赞
知道答主
回答量:220
采纳率:0%
帮助的人:121万
展开全部
当X自减等于一和Y自加等于一成立,或者Z自加等于一成立是执行程序
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式