i++ 其实就是先运算,然后再返回运算之前的值。比如 a=i++: temp=i+1,a=i;
++i 就是先运算再返回之后的值,比如a=++i,其实就是 a=i+1。
public static void main(String[] args) {
int i=0;
for (int j = 0; j <5 ; j++) {
i=i++;
System.out.println(i);
}
}
这个会全部输出0。 因为 在返回的时候,虽然 i=i+1,但是它会返回 i=i。就是i又变成01了。
public static void main(String[] args) {
int i=0;
for (int j = 0; j <5 ; j++) {
int a=i++;
System.out.println("a==:"+a);
System.out.println("i==:"+i);
}
}
输出:
a==:0
i==:1
a==:1
i==:2
a==:2
i==:3
a==:3
i==:4
a==:4
i==:5