程式語言中的運算符雖然符號與數學相同,但語義截然不同。以 + 為例,它是二元運算符,一次只能操作兩個運算元。1 + 2 + 3 在機器中必須轉為 (1 + 2) + 3(左結合)或 1 + (2 + 3)(右結合)。Java 採用左結合,故等價於前者。
+4 是正號(一元運算符),代表一個整數常值;0 + 4 是加法表達式(二元運算符),求值結果雖同但本質不同。Java 中 short a = +4 合法,但 short a = 0 + 4 需強制轉型,因表達式型別提升為 int。
「副作用」指計算機求值過程與程式設計師心理預期不一致。例如:
short b = 1; b = b + 4; 編譯警告(型別提升為 int),但 b += 4 隱含強制轉型,無警告。5 > 4 > 3 在數學為 true,在 C/Java 中:5 > 4 → true (1),再 1 > 3 → false。將運算符視為函數有助於理解:2 + 5 等同 add(2, 5) 或 2.add(5)。許多語言(如 Kotlin、Scala)確實將運算符實作為函數呼叫。
編程語言中每個表達式都有值。寫程式給人看,除錯要用機器的方式思考。