java運(yùn)算符是來操縱變量返十,有算術(shù)運(yùn)算符、關(guān)系運(yùn)算符椭微、位運(yùn)算符洞坑、邏輯運(yùn)算符、賦值運(yùn)算符蝇率、條件運(yùn)算符和instanceof運(yùn)算符迟杂。
最高優(yōu)先級的運(yùn)算符在的表的最上面刽沾,最低優(yōu)先級的在表的底部。
類別 | 操作符 | 關(guān)聯(lián)性 |
---|---|---|
后綴 | () [] . (點(diǎn)操作符) | 左到右 |
一元 | + + - 排拷!? | 從右到左 |
乘性 | * /% | 左到右 |
加性 | + - | 左到右 |
移位 | >> >>> << | 左到右 |
關(guān)系 | >> = << = | 左到右 |
相等 | == != | 左到右 |
按位與 | & | 左到右 |
按位異或 | ^ | 左到右 |
按位或 | 丨 | 左到右 |
邏輯與 | && | 左到右 |
邏輯或 | ‖ | 左到右 |
條件 | 侧漓?: | 從右到左 |
賦值 | = += -= *= /= %= >>= <<= &= ^= 丨= | 從右到左 |
逗號 | , | 左到右 |
1.算數(shù)運(yùn)算符
A=2,B=3
操作符 | 描述 |
---|---|
+ | 加法 - 相加運(yùn)算符兩側(cè)的值, A + B 等于 5 |
- | 減法 - 左操作數(shù)減去右操作數(shù), A – B 等于 -1 |
* | 乘法 - 相乘操作符兩側(cè)的值, A * B等于6 |
/ | 除法 - 左操作數(shù)除以右操作數(shù), B / A等于1 |
% | 取模 - 左操作數(shù)除右操作數(shù)的余數(shù), B%A等于1 |
++ | 自增: 操作數(shù)的值增加1 B++ 或 ++B 等于 21 |
-- | 自減: 操作數(shù)的值減少1 |
2.關(guān)系運(yùn)算符
表格中的實(shí)例整數(shù)變量A的值為10监氢,變量B的值為20:
運(yùn)算符 | 描述 | 例子 |
---|---|---|
== | 檢查如果兩個(gè)操作數(shù)的值是否相等布蔗,如果相等則條件為真。 | (A == B)為假(非真)浪腐。 |
!= | 檢查如果兩個(gè)操作數(shù)的值是否相等纵揍,如果值不相等則條件為真。 | (A != B) 為真议街。 |
> | 檢查左操作數(shù)的值是否大于右操作數(shù)的值泽谨,如果是那么條件為真。 | (A> B)非真特漩。 |
< | 檢查左操作數(shù)的值是否小于右操作數(shù)的值隔盛,如果是那么條件為真。 | (A <B)為真拾稳。 |
> = | 檢查左操作數(shù)的值是否大于或等于右操作數(shù)的值,如果是那么條件為真腊脱。 | (A> = B)為假访得。 |
<= | 檢查左操作數(shù)的值是否小于或等于右操作數(shù)的值,如果是那么條件為真陕凹。 | (A <= B)為真悍抑。 |
3.位運(yùn)算符
下表列出了位運(yùn)算符的基本運(yùn)算,假設(shè)整數(shù)變量A的值為60和變量B的值為13:
操作符 | 描述 | 例子 |
---|---|---|
& | 如果相對應(yīng)位都是1,則結(jié)果為1杜耙,否則為0 | (A&B)搜骡,得到12,即0000 1100 |
丨 | 如果相對應(yīng)位都是0佑女,則結(jié)果為0记靡,否則為1 | (A 丨 B)得到61,即 0011 1101 |
^ | 如果相對應(yīng)位值相同团驱,則結(jié)果為0摸吠,否則為1 | (A ^ B)得到49,即 0011 0001 |
? | 按位補(bǔ)運(yùn)算符翻轉(zhuǎn)操作數(shù)的每一位嚎花,即0變成1寸痢,1變成0。 | (?A)得到-61紊选,即1100 0011 |
<< | 按位左移運(yùn)算符啼止。左操作數(shù)按位左移右操作數(shù)指定的位數(shù)道逗。 | A << 2得到240,即 1111 0000 |
>> | 按位右移運(yùn)算符献烦。左操作數(shù)按位右移右操作數(shù)指定的位數(shù)滓窍。 | A >> 2得到15即 1111 |
>>> | 按位右移補(bǔ)零操作符。左操作數(shù)的值按右操作數(shù)指定的位數(shù)右移仿荆,移動(dòng)得到的空位以零填充贰您。 | A>>>2得到15即0000 1111 |
4.邏輯運(yùn)算符
下表列出了邏輯運(yùn)算符的基本運(yùn)算,假設(shè)布爾變量A為真拢操,變量B為假
操作符 | 描述 | 例子 |
---|---|---|
&& | 稱為邏輯與運(yùn)算符锦亦。當(dāng)且僅當(dāng)兩個(gè)操作數(shù)都為真,條件才為真令境。 | (A && B)為假杠园。 |
‖ | 稱為邏輯或操作符。如果任何兩個(gè)操作數(shù)任何一個(gè)為真舔庶,條件為真抛蚁。 | (A ‖ B)為真。 |
惕橙! | 稱為邏輯非運(yùn)算符瞧甩。用來反轉(zhuǎn)操作數(shù)的邏輯狀態(tài)。如果條件為true弥鹦,則邏輯非運(yùn)算符將得到false肚逸。 | !(A && B)為真彬坏。 |
5.賦值運(yùn)算符
操作符 | 描述 | 例子 |
---|---|---|
= | 簡單的賦值運(yùn)算符朦促,將右操作數(shù)的值賦給左側(cè)操作數(shù) | C = A + B將把A + B得到的值賦給C |
+ = | 加和賦值操作符,它把左操作數(shù)和右操作數(shù)相加賦值給左操作數(shù) | C + = A等價(jià)于C = C + A |
- = | 減和賦值操作符栓始,它把左操作數(shù)和右操作數(shù)相減賦值給左操作數(shù) | C - = A等價(jià)于C = C - A |
* = | 乘和賦值操作符务冕,它把左操作數(shù)和右操作數(shù)相乘賦值給左操作數(shù) | C * = A等價(jià)于C = C * A |
/ = | 除和賦值操作符,它把左操作數(shù)和右操作數(shù)相除賦值給左操作數(shù) | C / = A等價(jià)于C = C / A |
(%)= | 取模和賦值操作符幻赚,它把左操作數(shù)和右操作數(shù)取模后賦值給左操作數(shù) C%= A等價(jià)于C = C%A | |
<< = | 左移位賦值運(yùn)算符 | C << = 2等價(jià)于C = C << 2 |
>> = | 右移位賦值運(yùn)算符 | C >> = 2等價(jià)于C = C >> 2 |
&= | 按位與賦值運(yùn)算符 | C&= 2等價(jià)于C = C&2 |
^ = | 按位異或賦值操作符 | C ^ = 2等價(jià)于C = C ^ 2 |
丨 = | 按位或賦值操作符 | C 丨 = 2等價(jià)于C = C 丨 2 |
6.條件運(yùn)算符
條件運(yùn)算符也被稱為三元運(yùn)算符禀忆。該運(yùn)算符有3個(gè)操作數(shù),并且需要判斷布爾表達(dá)式的值坯屿。該運(yùn)算符的主要是決定哪個(gè)值應(yīng)該賦值給變量油湖。
//variable x = (expression) ? value if true : value if false
int result = (3>1) ? 3 : 1;
//如果三個(gè)操作數(shù)里存在運(yùn)算符,盡量用小括號包圍
7.instanceof運(yùn)算符
該運(yùn)算符用于操作對象實(shí)例领跛,檢查該對象是否是一個(gè)特定類型(類類型或接口類型)乏德。
instanceof運(yùn)算符使用格式如下:
//( Object reference variable ) instanceof (class/interface type)
String str = "hehe";
if(str instanceof String){
//true
}