Java學習筆記—第五章 運算符和表達式

第五章  Java運算符和表達式

  1. 定義:運算符是指具有運算功能的符號。參與運算的數據稱爲操作數。運算符和操作數按照一定的規則組成的式子稱爲表達式。

  2. 運算符的分類:

    根據操作數個數不同分類:單目運算符(一元運算符)、雙目運算符(二元運算符)、三目運算符(三元運算符)

    根據性質或用途不同分類:算術運算符(+、-、*、/、%、++、--)、關係運算符(>、<、>=、<=、= =、!=)、邏輯運算符(!、&&、||)、位運算符(>>、<<、>>>、&、|、∧、~)、賦值運算符(=、+=、—=、*=、/=、%=等)、條件運算符(?和:成對使用)

    算術運算符與算術表達式


分類運算符名稱示例描述

+加法A+BA加B
-減法A-BA減B
*乘法A*BA乘以B
/除法A/BA除以B
%取餘運算A%BA除以B取餘數

+正號+A正A
-負號-A負A
++自增++A,A++A自加1
--自減--A,A--A自減1

    整型數據在進行除法(/)運算時,結果只保留值的整數部分。

    單目運算符中的自增和自減運算符位於操作數左側和右側是不同的。二者區別:位於左側時,操作數先自增或自減     1後再使用操作數;位於右側時,先使用操作數,再使操作數自增或自減1。


關係運算符與關係表達式


運算符名稱示例描述
==等於A==BA等於B嗎
!=不等於A!=BA不等於B嗎
>大於A>BA大於B嗎
<小於A<BA小於B嗎
>=
大於等於A>=BA大於等於B嗎
<=小於等於A<=BA小於等於B嗎

    關係表達式的運算次序是先分別算出運算符兩側的值,再把二者作比較。


    字符型數據按其在Unicode標準字符集中的位置值進行比較。常見字符的位置值由小到大順序是:空格<'0'<...       <'9'<'A'<...<'Z'<'a'<...<"z"<任何漢字。


邏輯運算符


運算符名稱示例描述
邏輯非!AA爲true時結果爲false,A爲false時結果爲true
&&邏輯與A&&BA、B同爲true時結果爲true,否則爲false
||邏輯或A||BA、B同爲false時結果爲false,否則爲true
邏輯異或A∧BA、B同爲true或同爲false時結果爲false,否則結果爲true

    “&&”和“||”又稱爲“短路與”和“短路或”。如果“&&”左邊表達式值爲false,則整個表達式的值爲false,       編譯器不再運算右邊的表達式。同樣,如果“||”左邊的表達式值爲true,則整個表達式的值爲true,編譯器不       再運算右邊的表達式。



    賦值運算符:Java中的“=”表示的是賦值運算符,不同於數學中的等號(Java中表示等於的運算符是用兩個連在                  一起的等號(“==”)表示)。例如表達式 A+=B 表示 A=A+B,意思是A加B後的值賦值給A。


    位運算符:Java中提供了可以直接對二進制數進行操作的位運算符。“~”表示按位取反,“&”表示按位與運                 算,“|”表示按位或運算,“∧”按位異或,“<<”左移,“>>”帶符號右移,“>>>”無符號右移。

    計算機系統中爲了便於對數值進行處理,數值一律用補碼錶示。其中,正數的補碼與原碼相同,符號位爲0,例如     +9的補碼爲00001001;負數的補碼爲:符號位爲1,其餘位數該數絕對值的原碼按位取反,然後整個數加1。例如:     對於-7來說,符號位爲1,+7的原碼爲0000111(除去符號位,剩下7位),取反後得到1111000,加1得到1111001,     則-7的補碼爲11111001。

    在不溢出的情況下,左移運算相當於乘運算,左移n位相當於該操作數乘以2的n次方;右移運算相當於除運算,右     移n位相當於該操作數除以2的n次方。


    條件運算符:expression1expression12expression13;

                表達式expression1的值必須爲布爾型,表達式expression12和expression13的值可以爲任意類         型,且類型可以不同。

                條件表達式的值取決於expression1的判斷結果,如果expression1結果爲true,則執行表達式2,         否則執行表達式3。




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章