總計=總計+3;
乍壹看,這壹行代碼似乎有問題,這是不可能成立的。其實還是壹樣的,‘=‘是賦值,不等於。它意味著在自己的值上加3,然後將其分配給自己。為了簡化起見,上述代碼也可以寫成:
total+= 3;
復合賦值運算符有以下幾種:符號函數
+=加法賦值=減法賦值* =乘法賦值/=除法賦值% =模賦值左移賦值aa
右移位賦值&;=
位邏輯和分配位邏輯或分配=1
=逐位邏輯異或賦值
在上述十個復合賦值運算符中,後五個將在後面的位運算中解釋。那麽看完上面的復合賦值運算符,有人會問,最後,合計=合計+3;和Tota壹起
tal+= 3;
有什麽區別嗎?答案是肯定的,因為a =
A=A+1
+1,表達式A計算兩次。對於復合運算符,
A+=1
表達式a只計算壹次。壹般來說,這種差異對程序的運行影響不大,但當表達式用作函數的返回值時,函數會被調用兩次(後面會解釋),如果使用普通的賦值運算符,則會增加程序的開銷並降低效率。