当先锋百科网

首页 1 2 3 4 5 6 7

在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的值。