1. 程式人生 > 程式設計 >Java運算子的常見問題與用法小結

Java運算子的常見問題與用法小結

本文例項講述了Java運算子的常見問題與用法。分享給大家供大家參考,具體如下:

算術運算子:

image_594bc412_77b8

算術運算子的注意問題

1. 如果對負數取模,可以把模數負號忽略不記,如:5%-2=1。但被模數是負數就另當別論。

-5%3=-2;-5%-3=-2;符號跟被模數(左邊)。

2. 對於除號“/”,它的整數除和小數除是有區別的:整數之間做除法時,只保留整數部分而捨棄小數部分。

例如:int x=3510;x=x/1000*1000; x的結果是? 3000

3560.0/1000*1000=3560.0

3. “+”除字串相加功能外,還能把非字串轉換成字串 ,

例如:System.out.println("5+5="+5+5);//列印結果是?5+5=10

int a = 3; a+=5;幾乎等同運算a=a+5;但+=隱含自動轉換

比較運算子/關係運算符:

image_594bc412_43b0

邏輯運算子:

image_594bc412_2891

· 邏輯運算子用於連線布林型表示式,在Java中不可以寫成3<x<6,應該寫成x>3 & x<6 。

· “&”和“&&”的區別(不短路跟短路的區別):

單&時,左邊無論真假,右邊都進行運算;

雙&時,如果左邊為真,右邊參與運算,如果左邊為假,那麼右邊不參與運算。

“|”和“||”的區別同理,雙或時,左邊為真,右邊不參與運算。

有些時候這個會導致計算不同:

image_594bc412_3542

3. 異或( ^ )與或( | )的不同之處是:異或左右都為true時,結果為false(true^true==false)。

位運算子:

image_594bc412_5c24

位運算是直接對二進位制進行運算。(補碼)

對於<< 和>>,移n位,就是對原數值乘以(<<)或者除以(>>)2的n次冪。

image_594bc412_43ca

· 不要迷糊--負數右移,原符號位上的數也右移!(如果原本該數為負數,按照原理,右移則看最高位補空缺,保證了此時的原數值的符號不變)

特殊使用技巧:

一個數X對同一個數異或兩次,所得結果為X:6^3^3=6,3^6^3=6

練習:

11.最有效率的方式算出2乘以8等於幾?2<<3?image_594bc412_6e67

2.對兩個整數變數的值進行互換

· image_594bc412_2694

· image_594bc412_7ff7

· image_594bc412_303c

&運算可用於獲取二進位制的有效位

image_594bc412_6390

image_594bc412_50e0

異或

image_594bc412_37fa

image_594bc412_66bd

位運算子可以操作字元,但結果為int

image_594bc412_1ab2

三元運算子:

· 格式:

(條件表示式)?表示式1:表示式2; 括號有時可沒有,但為了格式化,寫了好。

如果條件為true,運算後的結果是表示式1;

如果條件為false,運算後的結果是表示式2;

· 示例:

獲取兩個數中大數。

int x=3,y=4,z;

z = (x>y)?x:y;//z變數儲存的就是兩個數的大數。

運算子優先順序:

image_594bc412_38c6

更多java相關內容感興趣的讀者可檢視本站專題:《Java面向物件程式設計入門與進階教程》、《Java資料結構與演算法教程》、《Java操作DOM節點技巧總結》、《Java檔案與目錄操作技巧彙總》和《Java快取操作技巧彙總》

希望本文所述對大家java程式設計有所幫助。