小弟现在初学入门,之前对 i ++ 和 ++i 的区别不是特别清楚。后来一位前辈给了我一道试题让我做,琢磨了好久,错了好多次,才想明白一个问题:在代码中不能够想当然,不能感觉是什么样就是什么样,还是得有理有据才行。 自己想的方法虽然比较麻烦,但是思路却很有条理,比较适合初学者。如果哪位前辈有更好的方法用来区别 i++ 与 ++i 还请多多指教。
int x = 0, y = 0;
x--; // 此时x的值为-1
y = x++ + ++x;
/*设:a = x ++ b = ++x;
此时:a = x++ = -1 x 的值为 0;
b =++x = 0+1 = 1 x的值为 1;
y = a+b = 0; y的值为 0;
*/
System.out.println(x + y++ + x);
/*设 c = y++ =0;
此时 x + y ++ +x =1+0+1 = 2;
此时y的值为1;
*/
System.out.println(y); // y的值为1
System.out.println(x); //x的值为1 |