1. 程式人生 > >Java中i++與++i的區別

Java中i++與++i的區別

  • 表示式結果:
    • i++,表示式的結果為i
    • ++i,表示式的結果為(i+1)
  • 空間
    • i++,會申請一個臨時空間來儲存i的值作為表示式的結果
    • ++i,運算之後i值即為表示式結果,不申請臨時空間
  • 效率
    • i++,申請臨時空間會耗時,可以忽略不記,但強迫症可以這麼寫
  • 經典題目:
int i=1;
i = i++;
System.out.println(i);
  • 問輸出什麼?
  • 答案:1;
  • java程式執行流程:
    • i=1,把1賦值給i。
    • i=i++,把表示式i++結果儲存到臨時變數中,i自增1,把臨時變數裡的表示式結果賦值給i。
    • XXX,輸出結果。