++i如下:
int i = 2; //定义一个int类型的变量
int j = 0;
j = ++i; //++i的出的新的值赋值给j
System.out.println(j); //打印出j的值
根据上面的代码输出的结果 j的值为3
i++如下:
int i = 2; //定义两个int类型的变量
int j = 0;
j = i++; //i++的值赋值给j
System.out.println(j); //打印出j的值
根据上面的代码输出的结果 j 的值为2
明明代码都差不多可是j的值不一样,而唯一的区别就在于++对于i的左右位置不同
++i : 在这里表示被执行前+1
i++ : 在这里表示执行后i的值+1
带着这个思路来尝试着猜一下下面这行代码的运行结果
int i = 1; //定义三个int类型的变量
int j = 0;
int c = 2;
j = i++; //i++执行后i的值发生改变,但此时i的值还是初始值,j的值为i的初始值为1
i = i+1; //此时i的值2,i+1的值重新赋值给i,此时赋值过后i的值则为3
c = ++i; //++i执行前值+1,所以c的值为4
System.out.println(i); //打印i
System.out.println(j); //打印j
System.out.println(c); //打印c
输出的结果为
一句话总结:i++: 先调用,后+1 ++i:先+1,后调用