我们都知道:
当 i++时, 是先赋值, 后+1 等同于 i= i+1 ,先将 i的原值给左值(等号左的值)i, 在+1, 也就是 如果不计算的话, 那么i的值未变
++i: 先计算+1,在赋值 先进行 i+1计算. 在将结果 给左值
但,有时, 会忽略掉这个特性,
例如:
int i = 0;
String[] nums ={1,2,3,4,5}; //普通数组
int num = nums(i++);
Syso... //会打印几呢?
惯性思维: 打印结果应该是2 吧. 因为 i++得到结果是1, 数组根据索引1取 元素, 得到 元素2. 结果: 错误.
打印结果: 自己测试吧.
不然不长记性.
总结: 不管是在单独运算时, 还是在方法参数中, i++,或 ++i都会保持他们的特性.
i++: 先赋值, 后计算+1
++i: 先计算+1, 后赋值