可能有不少程序員認爲i+=1只是i=i+1的簡寫方式,其實否則,它們一個是用簡單賦值運算,一個使用複合賦值運算,而簡單賦值運算和複合賦值運算的最大區別就在於:複合賦值運算符會自動地將算法結果轉型爲其左操做數的類型。看看以下的例子就能夠看到差異在哪裏。java
題目大概意思以下:
例如程序員
下兩個代碼塊,判斷這兩個代碼塊是否正確
塊A:
算法
short i=0;
i=i+1;code
塊B:class
short i=0;
i+=1;語法
詳解:塊A不正確,存在語法錯誤,緣由爲:i=i+1;語句中右邊的i+1的結果爲int類型,而左邊爲short型,不能將int類型自動轉化爲short型,所以,不正確。程序
而爲何i+=1;不存在類型的轉換的緣由在於:複合賦值運算符會自動地將運算結果轉型爲其左操做數的類型。所以這是正確的。co