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.賦值運算
自增一++,自減一--,賦值=,自乘*=,自除/=,自余%=,自加+=,自減-=,自與&=,......
賦值運算實例:
操作符
描述
例子
++