Java運(yùn)算符的常見問題與用法小結(jié)
本文實(shí)例講述了Java運(yùn)算符的常見問題與用法。分享給大家供大家參考,具體如下:
算術(shù)運(yùn)算符:算術(shù)運(yùn)算符的注意問題
1. 如果對(duì)負(fù)數(shù)取模,可以把模數(shù)負(fù)號(hào)忽略不記,如:5%-2=1。但被模數(shù)是負(fù)數(shù)就另當(dāng)別論。
-5%3=-2;-5%-3=-2;符號(hào)跟被模數(shù)(左邊)。
2. 對(duì)于除號(hào)“/”,它的整數(shù)除和小數(shù)除是有區(qū)別的:整數(shù)之間做除法時(shí),只保留整數(shù)部分而舍棄小數(shù)部分。
例如:int x=3510;x=x/1000*1000; x的結(jié)果是? 3000
而3560.0/1000*1000=3560.0
3. “+”除字符串相加功能外,還能把非字符串轉(zhuǎn)換成字符串 ,
例如:System.out.println('5+5='+5+5);//打印結(jié)果是?5+5=10
int a = 3; a+=5;幾乎等同運(yùn)算a=a+5;但+=隱含自動(dòng)轉(zhuǎn)換
比較運(yùn)算符/關(guān)系運(yùn)算符:· 邏輯運(yùn)算符用于連接布爾型表達(dá)式,在Java中不可以寫成3<x<6,應(yīng)該寫成x>3 & x<6 。
· “&”和“&&”的區(qū)別(不短路跟短路的區(qū)別):
單&時(shí),左邊無論真假,右邊都進(jìn)行運(yùn)算;
雙&時(shí),如果左邊為真,右邊參與運(yùn)算,如果左邊為假,那么右邊不參與運(yùn)算。
“|”和“||”的區(qū)別同理,雙或時(shí),左邊為真,右邊不參與運(yùn)算。
有些時(shí)候這個(gè)會(huì)導(dǎo)致計(jì)算不同:
3. 異或( ^ )與或( | )的不同之處是:異或左右都為true時(shí),結(jié)果為false(true^true==false)。
位運(yùn)算符:位運(yùn)算是直接對(duì)二進(jìn)制進(jìn)行運(yùn)算。(補(bǔ)碼)
對(duì)于<< 和>>,移n位,就是對(duì)原數(shù)值乘以(<<)或者除以(>>)2的n次冪。
· 不要迷糊--負(fù)數(shù)右移,原符號(hào)位上的數(shù)也右移?。ㄈ绻驹摂?shù)為負(fù)數(shù),按照原理,右移則看最高位補(bǔ)空缺,保證了此時(shí)的原數(shù)值的符號(hào)不變)
特殊使用技巧:
一個(gè)數(shù)X對(duì)同一個(gè)數(shù)異或兩次,所得結(jié)果為X:6^3^3=6,3^6^3=6
練習(xí):
11.最有效率的方式算出2乘以8等于幾?2<<3?
2.對(duì)兩個(gè)整數(shù)變量的值進(jìn)行互換
·
·
·
&運(yùn)算可用于獲取二進(jìn)制的有效位
異或
位運(yùn)算符可以操作字符,但結(jié)果為int
· 格式:
(條件表達(dá)式)?表達(dá)式1:表達(dá)式2; 括號(hào)有時(shí)可沒有,但為了格式化,寫了好。
如果條件為true,運(yùn)算后的結(jié)果是表達(dá)式1;
如果條件為false,運(yùn)算后的結(jié)果是表達(dá)式2;
· 示例:
獲取兩個(gè)數(shù)中大數(shù)。
int x=3,y=4,z;
z = (x>y)?x:y;//z變量存儲(chǔ)的就是兩個(gè)數(shù)的大數(shù)。
運(yùn)算符優(yōu)先級(jí):更多java相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Java面向?qū)ο蟪绦蛟O(shè)計(jì)入門與進(jìn)階教程》、《Java數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Java操作DOM節(jié)點(diǎn)技巧總結(jié)》、《Java文件與目錄操作技巧匯總》和《Java緩存操作技巧匯總》
希望本文所述對(duì)大家java程序設(shè)計(jì)有所幫助。
相關(guān)文章:
