二、干貨分享
Java的運(yùn)算符
運(yùn)算符是一種特殊符號(hào),用以表示數(shù)據(jù)的運(yùn)算、賦值和比較等共分以下幾種:
1.1括號(hào):()[]
1.2一元運(yùn)算符(只有1個(gè)操作數(shù)):!(邏輯取反)、+(正號(hào))、-(負(fù)號(hào))、自增自減:++、--
位運(yùn)算符:~(整數(shù)機(jī)器碼取反)+操作數(shù)1
注意:自增自減,當(dāng)操作數(shù)在符號(hào)后面時(shí),先完成本次運(yùn)算之后再進(jìn)行加減操作。
!與~都是取反操作,但是!只適用于boolean,~只適用于整數(shù);一元運(yùn)算符:只有一個(gè)操作數(shù)的運(yùn)算符
1.3算術(shù)運(yùn)算符:*/(求商)%(求余)
1.4算術(shù)運(yùn)算符:+-由左至右操作數(shù)1+操作數(shù)2
1.5位運(yùn)算符:(左移)(右移)a
1.6關(guān)系運(yùn)算符:==
1.7關(guān)系運(yùn)算符:==(判斷左右兩邊是否相等)!=(判斷左右兩邊是否不等)
1.8位運(yùn)算符:(與)11001010=1000 0假1真
1.9位運(yùn)算符:^(異或)1100^1010=0110同假異真
1.10位運(yùn)算符:|(或)1100|1010=1110
1.11位運(yùn)算符:(短路與)若第一個(gè)條件為假,則結(jié)果為假,不再去判斷第二個(gè)操作數(shù)
1.12位運(yùn)算符:||(短路或)若第一個(gè)條件為真,則結(jié)果為真,不再去判斷第二個(gè)操作數(shù)
1.13三元運(yùn)算符:?:格式:條件?條件為真的結(jié)果:條件為假的結(jié)果
1.14賦值運(yùn)算符:=
所謂優(yōu)先級(jí),就是在表達(dá)式中的運(yùn)算順序。Java中常用的運(yùn)算符的優(yōu)先級(jí)如下表所示:
級(jí)別為1的優(yōu)先級(jí)最高,級(jí)別11的優(yōu)先級(jí)最低
PS:大家沒(méi)必要去死記運(yùn)算符的優(yōu)先級(jí)順序,實(shí)際開(kāi)發(fā)中,一般會(huì)使用小括號(hào)輔助進(jìn)行優(yōu)先級(jí)管理。例如:
分析:小括號(hào)優(yōu)先級(jí)最高,因此
1、執(zhí)行a+18,結(jié)果為30
2、執(zhí)行(a+18)%4取模,結(jié)果為2
3、執(zhí)行a*((a+18)%4),結(jié)果為24
我的總結(jié):
邏輯運(yùn)算符用于連接布爾型表達(dá)式,在Java中不可以寫(xiě)成3<6,應(yīng)該寫(xiě)成x>
“”和“”的區(qū)別:?jiǎn)闻c時(shí),左邊無(wú)論真假,右邊都進(jìn)行運(yùn)算;雙與時(shí),如果左邊為真,右邊參與運(yùn)算,如果左邊為假,那么右邊不參與運(yùn)算。
“|”和“||”的區(qū)別同理,雙或時(shí),左邊為真,右邊不參與運(yùn)算。
“^”與“|”不同之處是:當(dāng)左右都為true時(shí),"^"結(jié)果為false。