Java運算符的常見問題與用法小結(jié)
本文實例講述了Java運算符的常見問題與用法。分享給大家供大家參考,具體如下:
算術(shù)運算符:算術(shù)運算符的注意問題
1. 如果對負數(shù)取模,可以把模數(shù)負號忽略不記,如:5%-2=1。但被模數(shù)是負數(shù)就另當別論。
-5%3=-2;-5%-3=-2;符號跟被模數(shù)(左邊)。
2. 對于除號“/”,它的整數(shù)除和小數(shù)除是有區(qū)別的:整數(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;幾乎等同運算a=a+5;但+=隱含自動轉(zhuǎn)換
比較運算符/關(guān)系運算符:· 邏輯運算符用于連接布爾型表達式,在Java中不可以寫成3<x<6,應該寫成x>3 & x<6 。
· “&”和“&&”的區(qū)別(不短路跟短路的區(qū)別):
單&時,左邊無論真假,右邊都進行運算;
雙&時,如果左邊為真,右邊參與運算,如果左邊為假,那么右邊不參與運算。
“|”和“||”的區(qū)別同理,雙或時,左邊為真,右邊不參與運算。
有些時候這個會導致計算不同:
3. 異或( ^ )與或( | )的不同之處是:異或左右都為true時,結(jié)果為false(true^true==false)。
位運算符:位運算是直接對二進制進行運算。(補碼)
對于<< 和>>,移n位,就是對原數(shù)值乘以(<<)或者除以(>>)2的n次冪。
· 不要迷糊--負數(shù)右移,原符號位上的數(shù)也右移?。ㄈ绻驹摂?shù)為負數(shù),按照原理,右移則看最高位補空缺,保證了此時的原數(shù)值的符號不變)
特殊使用技巧:
一個數(shù)X對同一個數(shù)異或兩次,所得結(jié)果為X:6^3^3=6,3^6^3=6
練習:
11.最有效率的方式算出2乘以8等于幾?2<<3?
2.對兩個整數(shù)變量的值進行互換
·
·
·
&運算可用于獲取二進制的有效位
異或
位運算符可以操作字符,但結(jié)果為int
· 格式:
(條件表達式)?表達式1:表達式2; 括號有時可沒有,但為了格式化,寫了好。
如果條件為true,運算后的結(jié)果是表達式1;
如果條件為false,運算后的結(jié)果是表達式2;
· 示例:
獲取兩個數(shù)中大數(shù)。
int x=3,y=4,z;
z = (x>y)?x:y;//z變量存儲的就是兩個數(shù)的大數(shù)。
運算符優(yōu)先級:更多java相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Java面向?qū)ο蟪绦蛟O(shè)計入門與進階教程》、《Java數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Java操作DOM節(jié)點技巧總結(jié)》、《Java文件與目錄操作技巧匯總》和《Java緩存操作技巧匯總》
希望本文所述對大家java程序設(shè)計有所幫助。
相關(guān)文章:
1. XML入門的常見問題(四)2. html小技巧之td,div標簽里內(nèi)容不換行3. ASP動態(tài)網(wǎng)頁制作技術(shù)經(jīng)驗分享4. 解決ASP中http狀態(tài)跳轉(zhuǎn)返回錯誤頁的問題5. ASP中if語句、select 、while循環(huán)的使用方法6. xml中的空格之完全解說7. 無線標記語言(WML)基礎(chǔ)之WMLScript 基礎(chǔ)第1/2頁8. ASP中解決“對象關(guān)閉時,不允許操作?!钡脑幃悊栴}……9. msxml3.dll 錯誤 800c0019 系統(tǒng)錯誤:-2146697191解決方法10. WMLScript的語法基礎(chǔ)
