if((i==(++j))&&((i++)==j))这个语句该怎么理解?

inti=1;//i=1intj=i++;//i=2,j=1if((i==(++j))&&((i++)==j)){System.out.println("i="+i);/... int i=1; //i=1
int j=i++; // i=2, j=1
if((i==(++j))&&((i++)==j)){
System.out.println("i="+i); //为什么i=3 ??
System.out.println("j="+j); //为什么j=2 ???
}
展开
 我来答
302652034_bai
2017-10-10 · TA获得超过4149个赞
知道大有可为答主
回答量:2206
采纳率:66%
帮助的人:1707万
展开全部
i==(++j)是先j自增在比较 所以这个时候j=2
(i++)==j 是先比较再自增 所以这个时候i还是等于2,比较完成之后i变成3
追问
意思是i==(++j) 得出的值j=2会影响到&&右边的j,使得右边的j=2??
还有能不能解释下为什么(i++)==j 是先比较再自增 ?不是先算括号里的i++,再比较是否等于j么?
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式