i++ 和 ++i 在理论上的区别是:
i++:是先把i拿出来使用,然后再+1;
++i :是先把i+1,然后再拿出来使用;
(1)、仅从 i 自身的值来看,两者无区别
(2)、若有赋值操作,比如:i = i++ ; 或 x = i ++ (无论是赋值给自己还是其他变量),两者就有区别了。
- i 在前,先让等式左边的值 变为 i 的值(先用 i), 再让 i 加1;
- i 在后,先让 i 加1(先变i,再用) ,再让等式左边的值 变为 i 的值;
第一题:
int a = 0;
for (int i = 0; i < 99; i++) {
a = a ++;
}
System.out.println(a);
第二题:
int b = 0;
for (int i = 0; i < 99; i++) {
b = ++ b;
}
System.out.println(b);
第一题:a=0
第二题:b=99
再升级一下
第三题
Integer a = 0;
int b = 0;
for (int i = 0; i < 99; i++) {
a = a ++;
b = a ++;
}
System.out.println(a);
System.out.println(b);