在Java编程语言中,i和i++是两个非常常见的表达式,但它们之间有什么区别呢?
int i = 1; int j = 1; j = i++; // 先将i赋值给j,然后i自增1 System.out.println("i=" + i + ", j=" + j); // 输出:i=2, j=1
在上面的代码中,j等于i++这个表达式所得到的值,而此时i的值已经自增1了。所以等同于先将i的值赋给了j,然后再将i自增1。因此,输出的结果是i的值为2,j的值为1。
int i = 1; int j = 1; j = ++i; // 先将i自增1,然后将i的值赋给j System.out.println("i=" + i + ", j=" + j); // 输出:i=2, j=2
在这里,j等于++i这个表达式所得到的值,而此时i的值已经自增1了。所以等同于先将i的值自增1,然后再将i的值赋给了j。因此,输出的结果是i的值为2,j的值为2。
总结一下,i++和++i都是自增1操作,但它们之间的区别在于i++是先返回i的值再自增1,而++i是先自增1再返回i的值。