在Java編程語言中,i和i++是兩個非常常見的表達式,但它們之間有什么區(qū)別呢?
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的值已經(jīng)自增1了。所以等同于先將i的值賦給了j,然后再將i自增1。因此,輸出的結(jié)果是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的值已經(jīng)自增1了。所以等同于先將i的值自增1,然后再將i的值賦給了j。因此,輸出的結(jié)果是i的值為2,j的值為2。
總結(jié)一下,i++和++i都是自增1操作,但它們之間的區(qū)別在于i++是先返回i的值再自增1,而++i是先自增1再返回i的值。