java中i++与++i的区别与使用
java中i++与++i的区别与使用
++自增符号,++i与i++单独使用时,都相当于i = i+1;在计算中使用则有不同。
单独使用,如下:
int i = 1;
i++;
System.out.println(i); //2
int j = 1;
++j;
System.out.println(j); //2
单独使用时,效果一样。和其他运算一起使用如下:
//++在前
int i = 1;
i = ++i;
System.out.println(i); //2
//++在后
int i = 1;
i = i++;
System.out.println(i);//1
总结:
由上可以看出:++在前时,变量单独使用与和其他运算一起时,运算结果是一致的。但是++在后时,运算结果却是不相同。
原因:++在后,进行运算时会有一个临时空间,临时空间用来存储未进行++操作的变量。
例如:上面的代码中:i = i ++; 操作中,i++会在 i 进行++操作之前,将 i 的值(或者说 i++ 的值) 1 存入到临时空间中,然后 i 进行++ 操作,运算结束后,i 的值为2,然后进行赋值 = 操作,将临时空间存储的原本的 i 的值(也就是++i 的值)1,会赋值给 i 。所以最后输出 i 的结果为1。