自運算與增強運算
自運算
自運算指的是對變數本身作運算,也就是以變數本身為運算元,運算完後的結果賦值給予變數本身,常見的有遞增或是加總:
a = 1
a = a + 1
上述例子可能讓初接觸程式的人摸不著腦袋,a
怎麼就等於 a + 1
了!
喔!還記得我們的賦值運算嗎?我們不是在說他們相等,而是把右邊的值給左邊的變數,或是說讓左邊的變數參照右邊的資料,所以a = a + 1
的意思是我們將 a
原本的值加上 1
再存回 a
中,講簡單一點就是讓 a
遞增 1
。
增強運算
對於自運算,我們可以有一個更簡明的寫法:
a = 1
a += 1
a += 1
與 a = a + 1
是幾乎等價的表示法,當我們看到一個運算符與等號連結時,就代表一個自運算的簡化寫法,我們稱為增強運算。
這邊之所以使用幾乎一詞,是因為這兩者之間還是有著極微小的差異,有興趣的讀者可以去了解一下何謂 就地運算。
我們列出所有的增強運算如下表 (假設 a=10
):
運算符 | 範例 | 等價的自運算 | 結果 |
---|---|---|---|
+= | a += 5 | a = a + 5 | a 為 15 |
-= | a -= 5 | a = a - 5 | a 為 5 |
*= | a *= 2 | a = a * 2 | a 為 20 |
/= | a /= 2 | a = a / 2 | a 為 5 |
%= | a %= 3 | a = a % 3 | a 為 1 |
**= | a **= 3 | a = a ** 3 | a 為 1000 |