平時用的多的,並不表明你真的會了,凡是技術問題真的是每個點都要深耕與研究編譯器
下面是一道及其簡單的問題,可是未必每一個人都能答出來編譯
i=i+1 與 i+= 1 有什麼區別?im
我想不少人會說除了寫法不同以外沒啥區別啊,結果不是都同樣麼?若是這麼問我以爲你可能缺少深刻思考的習慣了。若是我把題目換一下呢?技術
short i=0 img
i=i+1 與 i+= 1 有什麼區別?思考
這個時候你的編譯器就會告訴你答案了,第一種編譯器會報錯,而第二種不會,由於+=會將結果自動轉換成符號左側的類型,而第一種不會,可是i+1會自動轉換成整型,而i是short類型的,所以就會像這樣:習慣