i++和++i运算时的区别

i++ 和 ++i 区别在于是先赋值还是先自身加1,具体看下面的例子

int i = 0;
Log.e(TAG, "i = " + i++);
Log.e(TAG, "i = " + i);
Log.e(TAG, "i = " + ++i);

输出结果

i = 0
i = 1
i = 2

问题

  1. 为什么第一个 i++ 的输出结果是0呢?
    答:i++ 是先赋值再自身加1等价于 j = i++,先把值赋给了 j 再自身加1,也就是第二条的输出结果会是1
  2. 为什么第三条的输出结果是2呢?
    答:++i 是先自身加1再赋值等价于 j = ++i,先自身加1再把值赋给了 j

猜你喜欢

转载自blog.csdn.net/zyw0101/article/details/88654243