2011-03-20

JAVA 關於遞增/遞減 運算子的前置與後置

前置:++a ;
後置:a++ ;
就變數運算結果看來,a++與++a,所得到的值完全相同,那麼,為什麼要分這兩種呢?
因為在程式執行,產生的結果並不相同;
舉例:宣告兩個整數變數a和b,並初始化,如下所示:
             int a=1 ;
             int b=1 ;
接下來,我們在程式運算時,分成兩種情況:

1.若指定:
             b = a++ ;
   再讓系統分別顯示變數 a、b的值,得到的結果如下:
             a = 2;b = 1。
   即運算中,由於變數 b 在“=“的右方會先碰到變數a,所以此時的 “=” 會系統解讀成「指
   向」的作用,所以變數 b被指向成了變數 a(此時變數a還沒做任何運算),所以:
             b = a = 1;
   而後,變數 a再行遞增運算:a = a+1 = 2。

2.若是我們指定:
             b= ++a ;

    再讓系統分別顯示變數 a、b的值,得到的結果如下:
             a = 2;b = 2。
    即運算中,由於變數 b 在“=“的右方會先碰到遞增運算式「++」,所以此時的 “=” 會系統
    解讀成「運算」,所以:
             b = a+1 = 2。

沒有留言:

張貼留言