高频面试题1:自增边量
生活随笔
收集整理的這篇文章主要介紹了
高频面试题1:自增边量
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
package com.sxt.interview;public class 自增 {public static void main(String[] args) {int i = 1;i=i++;int j=i++;int k = i+ ++i*i++;System.out.println(i);System.out.println(j);System.out.println(k);}}
實際運行結果為:
4
1
11
分析:
int i = i; 邊量直接賦值。無需進棧操作。
i=i++; i先進棧值為1,同時邊量i自增,變成2,之后棧中i值1賦值給i,覆蓋i ,i=1;
int j = i++; 先將i入棧,i=1,將1賦值給j,之后i自增,此時邊量i=2;
int k = i + ++ii++;我們可以寫成int k = i+(++i)(i++); 還是先分析進棧值。i=2,++i是先自增再進棧,即進棧是3,i++先入棧3再自增到4,i=4. 最后 int k = 2+ 3*3=11.
總結:
賦值=,最后計算;
=右邊的從左到右以此壓入操作數棧
實際先算看運算符優先級
自增自減都是直接修改邊量,不經過操作數棧
最后賦值之前,臨時結果也是存儲在操作數棧中。
總結
以上是生活随笔為你收集整理的高频面试题1:自增边量的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: static 成员小记
- 下一篇: 非递归解决组合问题