首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 程式設計入門

Java 運算符奧秘:結合性與副作用

     編輯:Java 程式設計入門

運算符非數學直覺

程式語言中的運算符雖然符號與數學相同,但語義截然不同。以 + 為例,它是二元運算符,一次只能操作兩個運算元。1 + 2 + 3 在機器中必須轉為 (1 + 2) + 3(左結合)或 1 + (2 + 3)(右結合)。Java 採用左結合,故等價於前者。

一元 vs 二元運算符

+4 是正號(一元運算符),代表一個整數常值;0 + 4 是加法表達式(二元運算符),求值結果雖同但本質不同。Java 中 short a = +4 合法,但 short a = 0 + 4 需強制轉型,因表達式型別提升為 int。

副作用:機器思維 vs 人腦思維

「副作用」指計算機求值過程與程式設計師心理預期不一致。例如:

  • 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)確實將運算符實作為函數呼叫。

核心原則

編程語言中每個表達式都有值。寫程式給人看,除錯要用機器的方式思考。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved