天天看點

JAVA文法基礎之運算符

運算符是一種特殊符号,用以表示資料的運算、指派和比較。運算符共分為算術運算符、指派運算符、比較運算符、邏輯運算符、移位運算符。

一、算術運算符

算術運算符的功能是做各種算術運算,其操作數可以是字元型、整型或浮點型資料。Java中的算術運算符又可以分為兩種:單目運算符和雙目運算符。單目運算符的操作數隻有一個,隻對唯一的操作數進行處理。雙目運算符操作數有兩個,運算過程中由兩個操作數參與完成。算術運算符見下表:

運算符

運算

範例

結果

類型

+

正号

+3

單目運算符

-

負号

b=4;-b;

-4

5 + 5

10

雙目運算符

6 - 4

2

*

2 * 2

4

/

5 / 5

1

%

取模

5 % 3

++

自增(前)

a = 2; b = ++a;

a = 3; b = 3

自增(後)

a = 2; b = a++;

a = 3; b = 2

--

自減(前)

a = 2; b = --a;

a = 1; b = 1

自減(後)

a = 2; b = a--;

a = 1; b = 2

字元串相加

"Hel" + "lo"

"Hello"

注意:自增與自減位置的差別。

二、指派運算符

指派運算符的作用就是将一個值指派給另一個變量,最常用的指派運算符是“=”,指派運算符的左邊必須是一個變量,而不是一個值。指派運算符見下表:

=

指派

a = 3; b = 2;

+=

加等于

a = 3; b = 2; a += b;

a = 5; b = 2;

-=

減等于

a = 3; b = 2; a -= b;

a = 1; b = 2;

*=

乘等于

a = 3; b = 2; a *= b;

a = 6; b = 2;

/=

除等于

a = 3; b = 2; a /= b;

%=

摸等于

a = 3; b = 2; a %= b;

三、關系運算符

關系運算符用來比較兩個值的關系,是雙目運算符,運算結果為boolean類型。關系運算符見下表:

==

相等于

4 == 3

false

!=

不等于

4 != 3

true

<

小于

4 < 3

>

大于

4 > 3

<=

小于等于

4 <= 3

>=

大于等于

4 >= 3

instanceof

檢查是否為類的對象

"a" instanceof String

四、邏輯運算符

邏輯運算符用于對boolean類型結果的表達式進行運算,運算結果都是boolean型的。

&

false & true

|

false | true

^

異或

true ^ false

!

! true

&&

false && true

||

false || true

注意:&與&&的差別在于,如果使用前者連接配接,那麼無論何種情況,&兩邊的表達式都會參與運算。如果使用後者連接配接,當&&左邊為false時,右邊将不參與運算。同理|和||。

五、位運算符

資料在計算機内部是以二進制存儲編碼的,Java允許對這些二進制進行位運算。位運算符見下表:

位運算符

功能描述

x & y

按位進行與運算

x | y

按位進行或運算

x ^ y

按位進行異或運算

!x

按位進行非運算

>>

右移

x >> y

将x的二進制編碼右移y位,前面的位由符号填充

<<

左移

x << y

将x的二進制編碼左移y位,低位補0

>>>

無符号右移

x >>> y

将x的二進制編碼右移y位,前面的位由0填充

六、其他運算符

三目運算符:一般形式為:<邏輯表達式1> ? <表達式2> : <表達式3>

():用于強制類型轉換、方法調用。

[]:聲明、建立數組及通路資料中的特定元素。

new:建立對象、數組。

.:通路類成員變量,對象成員變量。

七、運算符優先級

優先級

() []

++ -- ~ !

* / %

+ -

>> >>> <<

> >= < <=

== !=

?:

= += -= *= /= &= |= ^= <<= >>= >>>=