運算子與運算式
運算子指的是一些特殊的符號,它們用于數學函式、賦值陳述句和邏輯比較等方面,而使用運算子將運算資料連接起來的符合Java語法規則的式子,稱為運算式,
算術運算子與算術運算式
算術運算是人們在日常生活中經常要遇到的,相應地,在程式設計語言中也有相應的表示算術運算的語法,在Java語言里,共有5種算術運算子來完成基本的算術運算,
算術運算子都是二元運算子,運算子兩側要求有兩個運算元,用算術運算子和兩邊的數字或變數連接起來的式子,就是算術運算式,這里要特別注意:
如果進行除法運算的兩個運算元都是整數,那么不論能否整除,運算結果都將是一個整數,這里要注意的是,運算結果只是簡單的截斷,即去掉小數部分,而不是四舍五入,
當在整數之間進行求余運算時,運算結果為數學運算中的余數,被取余數為正數,則結果為正數,被取余數為負數,則結果為負數,
與數學運算一樣,0可以做被除數,但是不可以做除數,當0做除數時,無論是除法運算還是求余運算,運算結果都是0,雖然可以通過編譯,但是在程式運行時,會拋出例外,
賦值運算子與賦值運算式
賦值運算子為“=”,即等號,賦值運算子是二元運算子,它的左邊必須是變數,不能是常量或運算式,賦值運算子的含義,是將運算子“=”右邊的值賦給其左邊的變數,
賦值運算子的運算是自右向左的,總是先計算賦值運算子右邊的值,然后將值賦給左邊的變數,給一個變數進行賦值的式子,就是賦值運算式,
除了賦值運算子之外,Java還提供了幾個復合的賦值運算子,以提高程式員的編碼效率,
關系運算子和關系運算式
在程式中,有時需要對兩個值或變數進行比較,在Java語言中,使用關系運算子來完成這樣的比較需要,
所有關系運算子都可以用于對整數、浮點數和字符型資料的比較,其中等于和不等于運算子可用于所有資料型別,
邏輯運算子與邏輯運算式
在實際撰寫程式時,有時需要將回傳型別為boolean型別的運算式組合在一起,構成一個更加復雜的運算式,
1.“與”運算子&和&&
當兩個運算式通過&或者&&鏈接在一起時,只有當兩個關系運算式的值都為真時,該組合的運算式才為真,
雖然&和&&都是用于“與”的運算,但是它們還是有些不同,如果使用“&&”,當“&&”左側運算式結果為false時,就不再計算其左側的運算式,而是直接回傳運算結果false,只有左側為true時,才計算其右側的運算式,而不管“&”運算子左側運算結果是什么,都計算其左側的運算式,再回傳整個邏輯運算式的值,
2.“或”運算|和||
當兩個關系運算式通過“|”或者“||”連接在一起時,只要兩個關系運算式的值有一個為真,則該組合的運算式的值就為真,只有當運算子兩側的運算式都為false時,整個邏輯運算式的值才為false,
雖然“|”和“||”都是用于“或”的運算,但是它們還是有些不同,如果使用“||”,當“||”左側運算式結果為true時,就不再計算其右側的運算式,而是直接回傳運算結果true,只有左側為false時,才計算其右側的運算式,而“|”運算子不管左側運算結果是什么,都計算其右側的運算式,再回傳整個邏輯運算式的值,
3. 異或運算子^
當兩個關系運算式通過“^”連接在一起時,只要連個關系運算式的值不相同時,該組合的運算式的值就為true、當運算子兩側的運算式都為true或都為false時,整個邏輯運算式的值為false,
4. 取反(非)運算子
運算子!用于對邏輯值進行取反運算,當邏輯值為false時,經過取反運算后,結果為true;當邏輯值為true時,經過取反運算后,結果為false,
運算子的優先級
如果一個運算式中有多個運算子參與混合運算,Java會根據運算子的優先級別來決定運算式中運算子的執行順序,也就是說,不同的運算子有不同的優先級,
其它常用運算子
1、自增自減運算子
在編程中,有一種常見的任務是從一個整數變數上增加或者減小1,Java提供了一類特殊的運算子,用于這種運算式,稱作“自增運算子(++)”和“自減運算子(--)”,使用自增和自減運算子,可以減少一定的代碼量,使程式更加簡潔,
++、--是一元運算子,可以放在運算元之后,也可以放在運算元之前,當“b=++a”時,先自增,再賦值;當“b=a++”時,先賦值,再自增,用一句口訣就是:“符號在前就先加/減,符號在后就后加/減”,(++a輸出的是a+1的值,a++輸出的是a值),
2、按位運算子
位運算子指的是對運算元以二進制為單位進行的運算,運算結果為整數,在Java語言中,位運算子有7個,包括:按位與運算子&、按位或運算子“|”、按位異或運算子“^”、按位取反運算子“~”,
3、移位運算子
java中有三種移位運算子:“<<”:左移位運算子,num<<1,相當于num乘以2,“>>”:右移位運算子,num>>1,相當于num除以2;num>>2,相當于除以2的平方,“>>>”:無符號右移,左邊補0,又稱無符號右移,
4、三元運算子
Java中有一個唯一的三元運算子“?:”,它有三個運算元,語法如下:
邏輯運算式 ? 運算式1 : 運算式2
三元運算子的運算規則是:首先判斷邏輯運算式的值,如果是true,整個三元運算式的值為運算式1的值;否則為運算式2的值,
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/245023.html
標籤:Java
