許多人會認為Java中i和i++的作用是一樣的,但是實際上它們有著不同的用法和運算方式。
int i = 1; System.out.println(i++); // 輸出1 System.out.println(i); // 輸出2
在上面的例子中,i++表示先輸出i的值,再將i自增1。也就是說,先將1輸出,再將i變成2。
int i = 1; System.out.println(++i); // 輸出2 System.out.println(i); // 輸出2
而對于++i,先將i自增1,再輸出i的值。所以,先將i變成2,然后輸出2。
我們來看一個具體的例子。
int i = 10; int result1 = i++ * 2; int result2 = ++i * 2; System.out.println(result1); // 輸出20 System.out.println(result2); // 輸出24
在這個例子中,i=10,首先執行i++ \* 2,此時i=11,然后再執行賦值運算,result1的值為20。而在執行++i \* 2時,i已經自增為12,result2的值為24。
綜上可知,i++和++i雖然在某些情況下可以達到相同的效果,但是它們的運算方式是不同的。所以,在實際開發中,我們應該根據需求正確地選擇使用i++或者++i。