1. 程式人生 > >Java中 = 和 += 的區別

Java中 = 和 += 的區別

1)+:在編譯器將右邊的表示式結果計算出來後,和左邊的變數型別比較精度,如果左邊的變數精度低於右邊的結果的精度,編譯器會顯式的報錯,告訴程式設計師去強制轉型。(所以s1 = s1 + 1出錯)最後將表示式的結果複製到變數所在的記憶體區。

2)+=:編譯器自動隱式直接將+=運算子後面的運算元強制裝換為前面變數的型別,然後在變數所在的記憶體區上直接根據右邊的運算元修改左邊變數記憶體儲存的二進位制數值(所以 s += 1不報錯)最後達到和賦值運算子相同的目的。與前者相比,由於後者是位操作,效率也較前者高。