歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> Java基本運算符

Java基本運算符

日期:2017/3/1 9:17:50   编辑:Linux編程

1.算術運算符

作用是數字的計算,包括:正號+,負號-,乘*,除/,余%,加+,減-,其算法與數學中的運算相同。

算術運算符實例(假設變量A=10,變量B=20):

操作符

描述

例子

+

正號

+A=+10 表示正數10

-

負號

-B=-20 表示負數20

+

加號

A+B=30

-

減號

A-B=-10

*

乘號

A*B=200

/

除號

B/A=2

%

取余

B%A=0

2.位運算

將數字轉成int型後,把二進制的0當作false,1當作true,每一位進行邏輯運算,運算結果為int型。運算符包括:位非~,位與&,位或|,位異或^,位左移<<,位右移>>,位補零右移>>>

位運算實例(假設變量A=60(二進制為00111100),變量B=13(二進制偉00001101)):

操作符

描述

例子

~

位非:翻轉操作數的每一位

(~A),得到11000011,即195

&

位與:當且僅當兩個操作數的某一位都非0時該位才為1

(A&B),得到00001100,即12

|

位或:只要兩個操作數的某一位有一個非0時該位就為1

(A|B),得到00111101,即61

^

位異或:兩個操作數的某一位不相同時改位為1

(A^B),得到00110001,即49

<<

位左移:左操作數按位左移右操作數指定的數

A<<2,得到11110000,即240

>>

位右移:左操作數按位右移右操作數指定的數

A>>2,得到00001111,即15

>>>

位補零右移:左操作數的值按右操作數指定的位數右移,移動得到的空位為零填補。

A>>>2,得到00001111,即15

注:

1)位左移:將int型整數的二進制每位向左移動若干位,前面若干位左移出int范圍的bit丟棄,數字位移動到符號位,後面若干位空出的bit補0。如果符號位沒有發生改變,則等同於乘2的n次方
2)位右移:將int型整數的二進制每位向右移動若干位,後面若干位右移出int范圍的bit丟棄,前面若干位空出的bit全都補符號位數字。等同於除2的n次方。
3)位補零右移:將int型整數的二進制每位向右移動若干位,後面若干位右移出int范圍的bit丟棄,前面若干位空出的bit全都補0。正數等同於除2的n次方,負數補零右移後變正數。

3.字符串處理

只有一個操作符“+” , 作用是將多個字符串連接成1個大的字符串。

字符串運算實例(變量A=“abc”,變量B=123):

操作符

描述

例子

+

連接符:將多個字符串連接成1個大的字符串

A+B=”ABC123”

4.關系運算

判斷2者的關系,返回布爾值。包括:判斷相等==,判斷不等!=,判斷大於>,判斷大於等於>=,判斷小於<,判斷小於等於<=。

關系運算符實例(假設變量A=10,變量B=20):

操作符

描述

例子

==

判斷相等:檢查兩個操作數的值是否相等,如果相等則條件為真。

(A==B)結果為假(非真)

!=

判斷不等於:檢查兩個操作數的值是否相等,如果不相等則條件為真。

(!A==B)結果為真

>

判斷大於:檢查左操作數的值是否大於右操作數,如果大於則條件為真。

(A>B)結果為假

>=

判斷大於等於:檢查左操作數的值是否大於等於右操作數,如果大於等於則條件為真。

(A>=B)結果為假

<

判斷小於:檢查左操作數的值是否小於右操作數是,如果小於則條件為真。

(A<B)結果為真

<=

判斷小於等於:檢查左操作數的值是否小於等於右操作數是,如果小於等於則條件為真。

(A<=B)結果為真

5.邏輯運算

關於關系的復合運算,返回布爾值。包括:邏輯反!,邏輯與&,邏輯或|,邏輯異或^。

邏輯運算實例(假設布爾變量A為真,B為假):

操作符

描述

例子

!

邏輯反:用來反轉操作數的邏輯狀態。如果條件為true,則邏輯非運算符將得到false。

(!B)為真

&

邏輯與:當且僅當兩個操作數都為真,條件才為真。(全真才真)

(A&B)為假

|

邏輯或:兩個操作數任何一個為真時,條件都為真。(全假才假)

(A|B)為真

^

邏輯異或:兩個操作數相同為假,不同為真。

(A^B)為真

附:

1.邏輯短路與,與邏輯與不同的是,一旦判斷前一關系結果為假,則後續關系不做判斷,直接返回結果為假。
2.邏輯短路或,與邏輯或不同的是,一旦判斷前一關系結果為真,則後續關系不做判斷,直接返回結果為真。

6.賦值運算

自增一++,自減一--,賦值=,自乘*=,自除/=,自余%=,自加+=,自減-=,自與&=,......

賦值運算實例:

操作符

描述

例子

++

自增一,操作數的值加1

當B=20時,B++=21

--

自減一,操作的值減1

當B=20時,B--=19

=

簡單的賦值運算符,將右操作數的值賦給左側操作數

C=A+B將把A+B得到的值賦給C

+ =

加和賦值操作符,它把左操作數和右操作數相加賦值給左操作數

C+=A等價於C=C+A

- =

減和賦值操作符,它把左操作數和右操作數相減賦值給左操作數

C-=A等價於C=C-A

* =

乘和賦值操作符,它把左操作數和右操作數相乘賦值給左操作數

C*=A等價於C=C*A

/ =

除和賦值操作符,它把左操作數和右操作數相除賦值給左操作數

C/=A等價於C=C/A

%=

取模和賦值操作符,它把左操作數和右操作數取模後賦值給左操作數

C%=A等價於C=C%A

<< =

左移位賦值運算符

C<<=2等價於C=C<<2

>> =

右移位賦值運算符

C>>=2等價於C=C>>2

&=

按位與賦值運算符

C&=2等價於C=C&2

^ =

按位異或賦值操作符

C^=2等價於C= C^2

| =

按位或賦值操作符

C|=2等價於C=C|2

7.條件運算符

邏輯判斷“?:”,用法:變量 x = (表達式) ? value if true : value if false ,邏輯判斷?值1:值2,作用是判斷邏輯是真還是假,如果是真則返回值1,否則返回值2。

例如(1>2)?3:4,因1>2為假,所以返回4,即(1>2)?3:4的結果為4。

附:Java運算符優先級

當多個運算符出現在一個表達式中,會涉及到運算的優先級別的問題,在一個多運算符的表達式中,運算級別的不同會導致結果差別很大。

順序:算術→位運算→字符串運算→關系運算→邏輯運算→賦值運算

算術:正號負號>乘除余>加減;

關系運算:並列

邏輯:反>與>或/邏輯短路或>邏輯異或

賦值:自增自減>賦值、自乘、自除……

另外,要優先運算哪個,可以用()小括號括起來。

Copyright © Linux教程網 All Rights Reserved