首先展示一下代碼部分:
public class test {
public static void main(String[] args) {
int a = 10;
System.out.println(a++);
System.out.println(++a);
System.out.println(a);
}
}
解析:
1.a的初始值爲10, 執行System.out.println(a++);時,系統輸出的值(a++)也就是a的初始值還未改變,依然爲10,等執行完打印完語句,再回頭執行a++。
2.第二個打印語句: 這時候a的值變爲11,打印語句執行前執行++a,故System.out.println(++a); 輸出爲12
3.這個時候a的值已經顯而易見了。System.out.println(a); 打印出 12.
面試題: a++ ,++a 那個運行速率那個更快些?(一般的面試官,不會問的 。)
答:++a省去了一個寄存器,反而會比a++運行速率更快些。