
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 ???
} 展开
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 ???
} 展开
展开全部
i==(++j)是先j自增在比较 所以这个时候j=2
(i++)==j 是先比较再自增 所以这个时候i还是等于2,比较完成之后i变成3
(i++)==j 是先比较再自增 所以这个时候i还是等于2,比较完成之后i变成3
追问
意思是i==(++j) 得出的值j=2会影响到&&右边的j,使得右边的j=2??
还有能不能解释下为什么(i++)==j 是先比较再自增 ?不是先算括号里的i++,再比较是否等于j么?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询