JAVA——運算子和表示式
JAVA提供了豐富的運算子,如算術運算子、關係運算符、邏輯運算子、位運算子等等。
一:算術運算子
1.加減運算子:加減運算子是二目運算子,即連線兩個操作元的運算子。運算結合方向是從左到右。操作型別:整形、浮點型資料。優先等級:四級。
2.乘除和求餘運算子:乘除和求餘的運算子*、/、%是二目運算子,運算結合方向是從左到右。操作型別是整形或浮點型資料。優先等級:三級。
3.自增自減運算子:自增自減運算子++、--是單目運算子。可放在操作元之前,也可放在操作元之後。操作元必須是一個整形或浮點型變數,作用是使自變數的值增1或者減1,
++x(--x)表示在使用x之前,先使x的值增(減)1。
x++(x--)表示在使用x之後,在對x執行x=x+1。
二者是不同的
4.算數混合運算的精度
精度從低到高的排列順序是:byte、short、char、int、long、float、double
整數運算規則:1.如果兩個運算元有一個是long,則結果是long。
2.沒有long時,結果是int。即使運算元全為short、byte。結果也為int。
浮點運算規則:1.如果兩個運算元有一個是double,則結果為double。
2.只有兩個運算元都float,結果才為float.
用算數運算子和括號連線起來的符合JAVA語法規則的式子,稱為算數表示式。
二:賦值運算
賦值運算“=”是二目運算子,左邊的操作元必須是一個變數,不能是常量或表示式。運算結合方向:從右到左;優先等級:14級。
注:
運算子 | 含義 | 範例 | 結果 |
---|---|---|---|
= | 賦值 | a=1;b=6 | a=1;b=6 |
+= | 加等於 | a=1;b=6;a+=b | a=7;b=6 |
-= | 減等於 | a=1;b=6;a-=b | a=-5;b=6 |
*= | 乘等於 | a=1;b=6;a*=b | a=6;b=6 |
/= | 除等於 | a=1;b=6;a/=b | a=0;b=6 |
%= | 餘等於 | a=1;b=6;a%=b | a=6;b=6 |
三:關係運算
關係運算是二目運算子,作用:用來比較兩個值的關係。關係運算的結果是布林型,結果為true/false。
運算子 | 含義 | 示例 |
---|---|---|
== | 等於 | a==b |
!= | 不等於 | a!=b |
> | 大於 | a>b |
< | 小於 | a<b |
>= | 大於或等於 | a>=b |
<= | 小於或等於 | a<=b |
四:邏輯運算
邏輯運算包括&&、||、!。其中&&、||為二目運算子,實現邏輯與、邏輯或,!為單目運算子,實現邏輯非。邏輯運算的操作元必須是boolean型資料,邏輯運算子可以用來連線關係表示式。
運算子 | 含義 | 結合方向 |
---|---|---|
&& | 邏輯與 | 左到右 |
|| | 邏輯或 | 左到右 |
! | 邏輯非 | 右到左 |
五:位運算子
(1)位運算子是對運算元以二進位制位元位為單位進行操作和運算,運算元和結果都是整型數。
(2)如果操作的物件是char、byte、short,位移動作發生前其值會自動晉升為int,運算結果也是int。
運算子的結合性決定了並列的相同級別運算的先後順序。