x++可以看做一个独立的变量 如int a=x++;x的值先把他赋值给x++然后X++再赋值a,最后x再自加1
++X int a=++ X 先自加1 x的值赋值给++x然后++x再赋值a
搞明白了下面几个例子也就会了自加和短路问题
第一题
int x = 1,y = 1;
int x = 1,y = 1;
if(x++==2 & ++y==2)
{
x =7;
}
System.out.println("x="+x+",y="+y);
x=2,y=2
---------------------------------------------------
第二题
int x = 1,y = 1;
{
x =7;
}
System.out.println("x="+x+",y="+y);
x=2,y=2
---------------------------------------------------
第二题
int x = 1,y = 1;
if(x++==2 && ++y==2)
{
x =7;
}
System.out.println("x="+x+",y="+y);
x=2,y=1
---------------------------------------------------
第三题
int x = 1,y = 1;
{
x =7;
}
System.out.println("x="+x+",y="+y);
x=2,y=1
---------------------------------------------------
第三题
int x = 1,y = 1;
if(x++==1 | ++y==1)
{
x =7;
}
System.out.println("x="+x+",y="+y);
x=7,y=2
---------------------------------------------------
第四题
int x = 1,y = 1;
{
x =7;
}
System.out.println("x="+x+",y="+y);
x=7,y=2
---------------------------------------------------
第四题
int x = 1,y = 1;
if(x++==1 || ++y==1)
{
x =7;
}
System.out.println("x="+x+",y="+y);
{
x =7;
}
System.out.println("x="+x+",y="+y);
x=7,y=1
---------------------------------------------------
第五题
boolean b = true;
---------------------------------------------------
第五题
boolean b = true;
if(b==false)
System.out.println("a");
else if(b)
System.out.println("b");
else if(!b)
System.out.println("c");
else
System.out.println("d");
b
---------------------------------------------------
System.out.println("a");
else if(b)
System.out.println("b");
else if(!b)
System.out.println("c");
else
System.out.println("d");
b
---------------------------------------------------