運算符豐富是 Java 語言的主要特點之一,它提供的運算符數量之多,在高級語言中是少見的。
Java 語言中的運算符除了具有優先級之外,還有一個結合性的特點。當一個表達式中出現多種運算符時,執行的先后順序不僅要遵守運算符優先級別的規定,還要受運算符結合性的約束,以便確定是自左向右進行運算還是自右向左進行運算。這些運算符按照操作數的數量可以分為單目運算符、雙目運算符和三目運算符。
最基本的運算符包括算術運算符、賦值運算符、邏輯運算符和關系運算符等,本文將詳細介紹算術運算符。
Java 中的算術運算符主要用來組織數值類型數據的算術運算,按照參加運算的操作數的不同可以分為一元運算符和二元運算符。
一元運算符
算術一元運算一共有 3 個,分別是 -、++ 和 --。具體說明參見表 1。
表 1 中,-a 是對 a 取反運算,a++ 或 a-- 是在表達式運算完后,再給 a 加一或減一。而 ++a 或 --a 是先給 a 加一或減一,然后再進行表達式運算。
上述代碼第 2 行是 -a,是把 a 變量取反,結果輸出是 -12。第 4 行代碼是先把 a 賦值給 b 變量再加一,即先賦值后 ++,因此輸出結果是 12。第 6 行代碼是把 a 加一,然后把 a 賦值給 b 變量,即先 ++ 后賦值,因此輸出結果是 14。
輸出結果如下圖所示:
關于 ++ 和 --,可直接參考《Java基礎教程:自增和自減》一節。