首先展示一下代码部分:
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++运行速率更快些。