i++和++i单独存在时,产生的效果都是一样的,都是i的值+1
int i=3; i++; //i=3+1=4 System.out.println(i); //输出i的值为4 ++i; //i=4+1=5 System.out.println(i); //输出i的值为5
i++和++i参与运算时产生的效果是不一样的,表现形式如下:
int i=3; int b=(++i)*2+(i++)*3; /* * ++i先自增,然后再参与运算 i=4 (++i)*2=4*2=8 * i++先参与运算,然后再自增 (i++)*3=4*3=12 i=5 * */ System.out.println(b); //b=8+12=20 System.out.println(i); //i=5
总结:i++和++i的最终得到的结果都是i=i+1,只是参与运算时的i值不同。
i++,在运算中,i值先参与运算,然后再+1;
++i,在与运算,i值先自增+1,再参与运算。