i++和++i在程序运行过程中的输出值:
1.在计算机对于i++运算的时候会开辟一个新的空间,之后再将值赋值给i;
2.在计算机对于++i做运算的时候不开辟新的空间直接+1;
案例:(1) public static void main(String[] args) {
int i = 0;
System.out.println(i++);
/*此时打印的是临时空间里的值
* 所以此时应该打印的是0
*/
System.out.println(i);
/*
* 此时打印的是运算后的i
* 所以此时打印的应该是1
*/
}
(2 ) public static void main(String[] args) {
int i = 2;
int n = 1;
System.out.println(n * i++);
System.out.println(i);
/*1.
* 1)n*i++事实上是n与临时空间里面的值i进行运算
* 2)实际输出的应该是2,而不是4
* 2.而i的值已经变成了2
* 第二个输出语句输出值应该是2;
*/
}
如有错误,欢迎指正.