運(yùn)算符的優(yōu)先級(從高到低)(運(yùn)算符的優(yōu)先級從高到低的順序是)
如果在程序中,要改變運(yùn)算順序,可以使用()。
一、算術(shù)運(yùn)算符
(加);-(減);*(乘);/(除);%(模運(yùn)算:相當(dāng)于取余運(yùn)算);
如果運(yùn)算符兩邊的數(shù)據(jù)類型一致,結(jié)果的類型也和它們一樣(整數(shù)運(yùn)算結(jié)果都會(huì)是int型的)
如果運(yùn)算符兩邊的數(shù)據(jù)類型不一致,結(jié)果的類型和容量比較大的類型一致;
自增和自減都屬于一元運(yùn)算符(就是只有一個(gè)數(shù)據(jù)參與運(yùn)算);
(自增運(yùn)算符):
自增運(yùn)算符,根據(jù)相對于運(yùn)算的數(shù)據(jù)的位置,又分為左自增和右自增;
int a = 10;
a:左自增:就算變量在自身的基礎(chǔ)上執(zhí)行加一運(yùn)算,然后將運(yùn)算的結(jié)果參與其他運(yùn)算
a :右自增:會(huì)先在內(nèi)存中創(chuàng)建一個(gè)臨時(shí)空間,然后將變量原來的值放在臨時(shí)空間中,然后對變量執(zhí)行運(yùn)算加一運(yùn)算,然后拿臨時(shí)空間中的值(就算加一運(yùn)算之前的值)參與其他運(yùn)算
– -(自減運(yùn)算符):
自減運(yùn)算符的規(guī)律和自增運(yùn)算符一樣,唯一不同的是,執(zhí)行的是減一運(yùn)算;
(字符串連接符):當(dāng) 左右兩邊有任意一邊是一個(gè)字符串時(shí),運(yùn)算結(jié)果就是將兩邊的值拼接成一個(gè)新的字符串;
二、賦值運(yùn)算符
賦值運(yùn)算符左邊只能是一個(gè)變量;
=:表示將符號右邊的值賦值給左邊的變量;
=:-=;*=;/=;%=:復(fù)合賦值運(yùn)算符;復(fù)合賦值運(yùn)算符會(huì)自動(dòng)對結(jié)果進(jìn)行強(qiáng)制轉(zhuǎn)換;
=:a = b 相當(dāng)于 a = a b;
三、比較運(yùn)算符
是對兩個(gè)數(shù)據(jù)進(jìn)行比較運(yùn)算,運(yùn)算結(jié)果一定是布爾型數(shù)據(jù);
>;(大于)
>=;(大于或等于)
<;(小于)
<=;(小于或等于)
==:(恒等于)
!=;(不等于)
所有基本類型數(shù)據(jù)都可以使用 == 進(jìn)行相等性驗(yàn)證;
對于區(qū)間判斷不能連續(xù)的寫在一起;
3<a<6 錯(cuò)誤的
四、邏輯運(yùn)算符
參與邏輯運(yùn)算的都是布爾型數(shù)據(jù);
邏輯運(yùn)算的結(jié)果也都是布爾型數(shù)據(jù);
&:與,相當(dāng)于并且;只有運(yùn)算符兩邊都為true,結(jié)果才是true;否則,任意一邊是false,運(yùn)算結(jié)果就是false;
&&:短路與,運(yùn)算結(jié)果和&是一樣的;
|:或,相當(dāng)于或者:只要兩邊有一遍是true,結(jié)果就是true;只有兩邊都是false,結(jié)果才是false;
||:短路或
^:異或:只有兩邊不相同,結(jié)果才是true;否則為false;
上面幾個(gè)都是雙元運(yùn)算符;
!:非
一元運(yùn)算符;
邏輯運(yùn)算表:!true = false; !false = true;
&和&&的異同:
相同點(diǎn):運(yùn)算的結(jié)果都一樣;
不同點(diǎn):&運(yùn)算,不論左邊是什么,都會(huì)運(yùn)算右邊;
&&運(yùn)算,如果左邊是false,就不會(huì)去運(yùn)算右邊;如果左邊是true,再運(yùn)算右邊;
|和||的異同:
相同點(diǎn):運(yùn)算結(jié)果都相同;
不同點(diǎn):|運(yùn)算,不論左邊是什么,都運(yùn)算右邊;
||如果左邊是true,就不會(huì)運(yùn)算右邊;如果左邊是false,在運(yùn)算右邊;
問題:什么時(shí)候使用 & 和 | ?
如果右邊必須參與運(yùn)算,就因該使用&或|;
五、三元運(yùn)算符
元就是表示參與運(yùn)算的數(shù)據(jù);
格式:
變量 = 布爾表達(dá)式 ? 值一 : 值二;
六、位運(yùn)算符
(<<)(>>)(>>> )
移位操作符操作的運(yùn)算對象也是二進(jìn)制的“位”,但是它們只可以被用來處理整數(shù)類型(基本
類型的一種)。左移位操作符(<<)能將操作符左邊的運(yùn)算對象向左移動(dòng)操作符右側(cè)指定的
位數(shù)(在低位補(bǔ) 0)?!坝蟹枴庇乙莆徊僮鞣?gt;>)則將操作符左邊的運(yùn)算對象向右移動(dòng)操
作符右側(cè)指定的位數(shù)?!坝蟹枴庇乙莆徊僮鞣褂昧恕胺枖U(kuò)展”:若符號為正,則在高位插
入0;若符號為負(fù),則在高位插入1。Java中增加了一種“無符號”右移位操作符(>>>),它
使用了“零擴(kuò)展”:無論正負(fù),都在高位插入0。這一操作符是C或C 沒有的。
& 按位與(AND):對應(yīng)的二進(jìn)制位進(jìn)行與操作,兩個(gè)都為1才為1,其他情況均為0
| 按位或(OR):對應(yīng)的二進(jìn)制位進(jìn)行或操作,兩個(gè)都為0才為0,其他情況均為1
^ 按位異或(XOR):當(dāng)對應(yīng)二進(jìn)制位值相同,該位為0 否則為1
~ 按位非(NOT):對每個(gè)二進(jìn)制位的內(nèi)容求反,即1變成0,0變成1
位操作符可與等號(=)聯(lián)合使用,以便合并運(yùn)算操作和賦值操作:&=,|=和^=都是合法
的(由于~是一元操作符,所以不可與=聯(lián)合使用)。