Java基礎(chǔ)入門篇(六)——Java運(yùn)算符
后臺(tái)回復(fù)“ Java ”即可獲贈(zèng)Java學(xué)習(xí)資料
今
日
雞
湯
借問(wèn)漢宮誰(shuí)得似,可憐飛燕倚新妝。前面幾篇文章用Java帶大家一起了解了幾個(gè)游戲小項(xiàng)目,感興趣的小伙伴可以點(diǎn)擊文章觀摩下,手把手教你用Java打造一款簡(jiǎn)單故事書(上篇)、手把手教你用Java打造一款簡(jiǎn)單故事書(下篇)、手把手教你用Java打造一款簡(jiǎn)單考試系統(tǒng)(上篇)、手把手教你用Java打造一款簡(jiǎn)單考試系統(tǒng)(下篇)接下來(lái)的幾篇文章是關(guān)于Java基礎(chǔ)的,希望對(duì)大家的學(xué)習(xí)有幫助,歡迎大家在討論區(qū)留言。
歷史Java基礎(chǔ)文章:
Java基礎(chǔ)入門篇(一)——Java虛擬機(jī)和運(yùn)行環(huán)境
Java基礎(chǔ)入門篇(二)——Java注釋、關(guān)鍵字和標(biāo)識(shí)符
Java基礎(chǔ)入門篇(四)——Java變量數(shù)據(jù)類型和基本數(shù)據(jù)類型
Java基礎(chǔ)入門篇(五)——Java變量類型的轉(zhuǎn)換和運(yùn)算符
一、比較運(yùn)算符和邏輯運(yùn)算符用作條件判斷
1.比較運(yùn)算符用于判斷兩個(gè)數(shù)據(jù)大小,例如大于、等于、小于、不等于。比較的結(jié)果是一個(gè)布爾值(true和false)。
2.邏輯運(yùn)算符用于布爾型數(shù)據(jù)進(jìn)行操作,結(jié)果也是一個(gè)布爾值(true和false)。在邏輯上“&&(AND)”、“||(OR)”、“!(NOT)”。
3.當(dāng)使用邏輯運(yùn)算符,會(huì)出現(xiàn)一個(gè)“短路”現(xiàn)象,例如(1>2)&&(1<3)時(shí),如果能夠確定左邊表達(dá)式1>2運(yùn)行結(jié)果為false,則系統(tǒng)會(huì)默認(rèn)沒(méi)必要去執(zhí)行右邊的1<3的表達(dá)式。同理,在(1<2)||(1<3)時(shí),如果能夠確定左邊表達(dá)式1<2運(yùn)行結(jié)果為true,則系統(tǒng)默認(rèn)沒(méi)有必要去執(zhí)行右邊1<3的表達(dá)式。
4.比較運(yùn)算符和邏輯運(yùn)算符具體示例如下所示:
int i=3,j=2,k=4;
System.out.println(i>j || ++i>=4);
System.out.println("i=" + i);
System.out.println(i<j || ++i>=4);
System.out.println("i=" + i);
運(yùn)行結(jié)果:
true
i=3
true
i=4
這個(gè)結(jié)果是怎么得出的呢?
首先看定義了3個(gè)int類型的變量i=3,j=2,k=4。然后看第一條輸出語(yǔ)句i>j表達(dá)式相當(dāng)于3>2的結(jié)果為true,因?yàn)槭莬|只要滿足左邊表達(dá)式或右邊表達(dá)式其中一個(gè)就可以,結(jié)果為true。第二條輸出語(yǔ)句是i=3,因?yàn)槎xint類型的變量i=3。第三條輸出語(yǔ)句i<j表達(dá)式相當(dāng)于3<2是不成立的結(jié)果為false,因?yàn)槭牵倏从疫叺谋磉_(dá)式++i>=4,i自增后的值為4,所以表達(dá)式結(jié)果為true。
二、三目運(yùn)算符
1.三目運(yùn)算符:用來(lái)完成簡(jiǎn)單的選擇邏輯,也就是根據(jù)條件判斷,從兩個(gè)選擇中選擇一種執(zhí)行。
2.三目運(yùn)算符的格式
變量=(條件表達(dá)式)?表達(dá)式1:表達(dá)式2;
3.三目運(yùn)算符的運(yùn)算規(guī)則
首先是判斷條件表達(dá)式,結(jié)果是一個(gè)布爾值。如果結(jié)果為true,運(yùn)算結(jié)果為表達(dá)式1,反之,如果結(jié)果為false,運(yùn)算結(jié)果為表達(dá)式2。 4.例如求兩個(gè)數(shù)x、y中的最大值,如果用if...else來(lái)實(shí)現(xiàn)具體代碼如下所示:
int x=0;
int y=2;
int max;
if(x>y){
max=x;
}else{
max=y;
}
System.out.print("x、y中的最大值為"+max);
輸出結(jié)果為x、y中的最大值為2。我們可以用三目運(yùn)算符代替這些代碼,更加方便。
int max=x>y?x:y;
三、原碼、反碼、補(bǔ)碼
原碼:在java中數(shù)值的絕對(duì)值的二進(jìn)制數(shù),對(duì)于整數(shù)而言,該最高位的0表示正數(shù),最高位的1表示負(fù)數(shù)。
用簡(jiǎn)單一個(gè)案例int a1=5,a2=-5:
5的原碼:00000000 00000000 00000000 00000101
-5的原碼:10000000 00000000 00000000 00000101
從上面這個(gè)案例,對(duì)于原碼而言,絕對(duì)值相等的正數(shù)和負(fù)數(shù)只是符號(hào)位不同,原碼是整數(shù)在不進(jìn)行操作,是以二進(jìn)制形式顯示。
反碼:反碼正數(shù)它的反碼就是它的原碼,也就是說(shuō)正數(shù)反碼和原碼相同。例如:
5的原碼:00000000 00000000 00000000 00000101
5的反碼:00000000 00000000 00000000 00000101
對(duì)于負(fù)數(shù),負(fù)數(shù)的反碼在原碼基礎(chǔ)上,它的符號(hào)位是不變的,數(shù)值是取反例如:
5的原碼:00000000 00000000 00000000 00000101
-5的原碼: 10000000 00000000 00000000 00000101
-5的反碼:11111111 11111111 11111111 11111010
補(bǔ)碼:對(duì)正數(shù)來(lái)說(shuō),正數(shù)的補(bǔ)碼是它的原碼,對(duì)負(fù)數(shù)來(lái)說(shuō),負(fù)數(shù)的補(bǔ)碼在它這個(gè)負(fù)數(shù)的反碼基礎(chǔ)上進(jìn)行加1
例如:
-5的反碼:11111111 11111111 11111111 11111010
-5的補(bǔ)碼:11111111 11111111 11111111 11111011
四、運(yùn)算符的優(yōu)先級(jí)
運(yùn)算符的優(yōu)先級(jí)數(shù)值越小,優(yōu)先級(jí)越高。

例如:
int a=3;
int b=a+3*a;
System.out.print(b);
輸出的結(jié)果是12,首先這個(gè)優(yōu)*先級(jí)要高于+,先算3 *a得到結(jié)果是9,然再和a相加,得到的結(jié)果是12。
int a=3;
int b=(a+3)*a;
System.out.print(b);
輸出的結(jié)果是18,首先()優(yōu)先級(jí)是最高的,所以先算a+3得到結(jié)果6,然后再乘以3,最終的結(jié)果是18。
五、總結(jié)
本文主要介紹了比較運(yùn)算符和邏輯運(yùn)算符用作條件判斷,三目運(yùn)算符,原碼、反碼、補(bǔ)碼,運(yùn)算符的優(yōu)先級(jí),詳細(xì)的介紹邏輯運(yùn)算和比較算符一般是用作條件的判斷,通過(guò)簡(jiǎn)單的案例解釋邏輯運(yùn)算符的短路現(xiàn)象。
三目運(yùn)算符的用法,介紹了它的格式和規(guī)則,使大家能夠理解這個(gè)三目運(yùn)算符。原碼、反碼、補(bǔ)碼通過(guò)例子來(lái)解釋這三種使用。運(yùn)算符的優(yōu)先級(jí)數(shù)值越小,優(yōu)先級(jí)越高。通過(guò)這些的學(xué)習(xí),幫助大家能夠理解這些用法。
-------------------?End?-------------------
往期精彩文章推薦:
-
手把手教你用Java打造一款簡(jiǎn)單故事書(上篇)
-
手把手教你用Java打造一款簡(jiǎn)單故事書(下篇)
-
手把手教你用Java打造一款簡(jiǎn)單考試系統(tǒng)(上篇)
-
手把手教你用Java打造一款簡(jiǎn)單考試系統(tǒng)(下篇)

歡迎大家點(diǎn)贊,留言,轉(zhuǎn)發(fā),轉(zhuǎn)載,感謝大家的相伴與支持
想加入Python學(xué)習(xí)群請(qǐng)?jiān)诤笈_(tái)回復(fù)【 入群 】
萬(wàn)水千山總是情,點(diǎn)個(gè)【 在看 】行不行
