你真的會 i++嗎

你真的會 i++嗎

題目如下

    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);
    }

最開始看到這題目覺得很簡單佣盒,我以為就是普通的前置++和后置++的問題,沒想到藏著這么多的坑集侯,一開始我算出來的結(jié)果是
i=5,j=2,k=15
怎么算出來的贸毕,i經(jīng)過4次++,所以i為5裆装,j=i++的時候,i為2倡缠,因?yàn)槭呛笾?+哨免,所以賦值后再進(jìn)行++,所以j=2昙沦, k = 3 + 4 * 3 結(jié)果為15琢唾,沒有想到自己全錯了,希望大家引以為戒

本題考點(diǎn)

  • JVM虛擬機(jī)關(guān)于指令部分
  • 前置++和后置++問題
  • 運(yùn)算符的優(yōu)先級

題解

i = i++, 因?yàn)閕入棧之前的值為1盾饮,在棧外++后采桃,局部變量的i的值變?yōu)?懒熙,但是=賦值操作會把棧里面的值賦值給i,所以i的結(jié)果為1
int j = i++; 和上面的i=i++同理普办!
此時i的值為2工扎,然后運(yùn)行如下
int k = i + ++i * i++; =》 2+ 3*3 = 11
i最開始為的值2, i入操作數(shù)棧時 ++i =3衔蹲,此時操作數(shù)的值為3肢娘,而后面的i++,i的值也是為3踪危,所以最終的結(jié)果=11

正確結(jié)果

運(yùn)行結(jié)果為:i=4,j=1,k=11

小結(jié)

  • 賦值= 最后計算
  • =右邊的從左到右加載值依次壓入操作數(shù)棧
  • 實(shí)際先算哪個蔬浙,看運(yùn)算符優(yōu)先級
  • 自增猪落、自減操作都是直接修改變量的值贞远,不經(jīng)過操作數(shù)棧
  • 最后的賦值之前,臨時結(jié)果也是存儲在操作數(shù)棧中
  • 建議:閱讀一下《JVM虛擬機(jī)規(guī)范》關(guān)于指令的部分
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末笨忌,一起剝皮案震驚了整個濱河市蓝仲,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌官疲,老刑警劉巖袱结,帶你破解...
    沈念sama閱讀 217,826評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異途凫,居然都是意外死亡垢夹,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,968評論 3 395
  • 文/潘曉璐 我一進(jìn)店門维费,熙熙樓的掌柜王于貴愁眉苦臉地迎上來果元,“玉大人,你說我怎么就攤上這事犀盟《梗” “怎么了?”我有些...
    開封第一講書人閱讀 164,234評論 0 354
  • 文/不壞的土叔 我叫張陵阅畴,是天一觀的道長倡怎。 經(jīng)常有香客問我,道長贱枣,這世上最難降的妖魔是什么监署? 我笑而不...
    開封第一講書人閱讀 58,562評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮纽哥,結(jié)果婚禮上钠乏,老公的妹妹穿的比我還像新娘。我一直安慰自己昵仅,他們只是感情好缓熟,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,611評論 6 392
  • 文/花漫 我一把揭開白布累魔。 她就那樣靜靜地躺著,像睡著了一般够滑。 火紅的嫁衣襯著肌膚如雪垦写。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,482評論 1 302
  • 那天彰触,我揣著相機(jī)與錄音梯投,去河邊找鬼。 笑死况毅,一個胖子當(dāng)著我的面吹牛分蓖,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播尔许,決...
    沈念sama閱讀 40,271評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼么鹤,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了味廊?” 一聲冷哼從身側(cè)響起蒸甜,我...
    開封第一講書人閱讀 39,166評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎余佛,沒想到半個月后柠新,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,608評論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡辉巡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,814評論 3 336
  • 正文 我和宋清朗相戀三年恨憎,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片郊楣。...
    茶點(diǎn)故事閱讀 39,926評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡憔恳,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出痢甘,到底是詐尸還是另有隱情喇嘱,我是刑警寧澤,帶...
    沈念sama閱讀 35,644評論 5 346
  • 正文 年R本政府宣布塞栅,位于F島的核電站者铜,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏放椰。R本人自食惡果不足惜作烟,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,249評論 3 329
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望砾医。 院中可真熱鬧拿撩,春花似錦、人聲如沸如蚜。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,866評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至探赫,卻和暖如春型宙,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背伦吠。 一陣腳步聲響...
    開封第一講書人閱讀 32,991評論 1 269
  • 我被黑心中介騙來泰國打工妆兑, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人毛仪。 一個月前我還...
    沈念sama閱讀 48,063評論 3 370
  • 正文 我出身青樓搁嗓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親箱靴。 傳聞我的和親對象是個殘疾皇子腺逛,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,871評論 2 354

推薦閱讀更多精彩內(nèi)容