Java中,i和i++是非常基礎的知識點。i代表一個變量,而i++代表對i變量的自增操作。二者看起來很相似,但實際上有著本質的區別。
public class Test { public static void main(String[] args){ int i = 1; int j = i++; System.out.println("i = " + i); System.out.println("j = " + j); } }
以上代碼段,我們定義了一個變量i,初始化為1。然后將i自增,并將i的值賦給了j。輸出i和j的值,我們可以看到i的值為2,而j的值為1。
我們可以發現,i++是一個后置自增操作,即先將變量使用,在進行自增。而i則是一個前置操作,即先進行自增,再進行變量的使用。
public class Test { public static void main(String[] args){ int i = 1; int j = ++i; System.out.println("i = " + i); System.out.println("j = " + j); } }
修改以上代碼中的 i++ 為 ++i
經過改動之后,我們得到了另外一組輸出,i的值依然是2,而j的值卻變成了2。這說明,在前置自增操作的情況下,i的值被先自增了,再被使用。
綜上所述,i和i++在執行過程中存在著重要區別。i++是一個后置自增操作,i是一個前置自增操作。