【問題】JAVA的前置與後置問題


Recommended Posts

因為剛學

小第一直搞不懂運算規則中的前置與後置

比如說

public class Main {
public static void main(String[] args){
int X = 1 , Y = 2 , Z = 6;

System.out.println( Z-- + Y++ + Y++ + ++X + Z + Z );
}
}

結果run的顯示結果是23

還有1題

public class Main {
public static void main(String[] args){
int X = 1 , Y = 2 , Z = 6;

System.out.println( X + Y + Z + --Y + Z-- + X++ );
}
}

顯示結果為17

有誰能提供比較好的理解的解說?

鏈接文章
分享到其他網站

先給第二題:


int X = 1 , Y = 2 , Z = 6;
System.out.println( X + Y + Z + --Y + Z-- + X++ );

執行流程如下:

  1. X=1
  2. Y=2
  3. Z=6
  4. 產生一暫存變數(假設為TMP)
  5. TMP=X(TMP=1)
  6. TMP=TMP+Y(TMP=3)
  7. TMP=TMP+Z(TMP=9)
  8. --Y(Y=1)
  9. TMP=TMP+Y(TMP=10)
  10. TMP=TMP+Z(TMP=16)
  11. Z--(Z=5)
  12. TMP=TMP+X(TMP=17)
  13. X++(X=2)
  14. 輸出TMP

鏈接文章
分享到其他網站

請登入後來留意見

在登入之後,您才能留意見



立即登入