一篇文章帶你入門java運算符
算術(shù)運算符
基本四則運算符
+ - * / %
- 對于/:int/int結(jié)果還是int,需要使用double。此外,0不能做除數(shù)。
- 對于%:表示取余,不僅可以對int取余,也可以對double取余。
例如:
System.out.println(11.5 % 2);
結(jié)果為:
增量賦值運算符
+= -= *= /= %=
這些運算符有一個特點:自動進行類型的轉(zhuǎn)換。
例如:
short a = 1; a += 2; System.out.println(a);
這段代碼運行之后不會報錯。雖然short是短整型,進行加法運算時需要整型提升。但+=已經(jīng)自動將其提升。
自增/自減運算符
++ --
- 前置++/–:先使用,再++/–
- 后置++/–:先++/–,后使用
例如:
int a = 1; int b = a++; int c = ++a; System.out.println(b); System.out.println(c);
結(jié)果為:
關(guān)系運算符
== != < > <= >=
- 關(guān)系運算符的表達式返回值都是 boolean 類型。
例如:
int a = 10; int b = 20; System.out.println(a > b);
邏輯運算符
&& || !
邏輯運算符的操作數(shù)(操作數(shù)往往是關(guān)系運算符的結(jié)果)和返回值都是 boolean類型。
&&
表達式1 && 表達式2
- 只有兩個表達式都為真,結(jié)果才為真
- 如果表達式1為假,那么就不會執(zhí)行表達式2這
- 兩個表達式只能是布爾表達式
例如:
int a = 10; int b = 20; boolean c = (a > b) && (++a > 0); System.out.println(a);
此時,a的值仍為10。
||
表達式1 || 表達式2
- 只有兩個表達式都是假,結(jié)果才為假
- 如果表達式1為真,那么就不會執(zhí)行表達式2
- 這兩個表達式只能是布爾表達式
例如:
int a = 10; int b = 20; boolean c = (a < b) || (++a > 0); System.out.println(a);
此時,a的值為10。
!
!表達式
表達式只能為布爾類型
位運算符
& | ~ ^
位操作表示按二進制位運算。
&(按位與)
如果兩個對應二進制位都是 1, 則結(jié)果為 1, 否則結(jié)果為 0
例如:
int a = 10; int b = 20; System.out.println(a & b);
結(jié)果為:
|(按位或)
如果兩個二進制位都是 0, 則結(jié)果為 0, 否則結(jié)果為 1。
例如:
int a = 10; int b = 20; System.out.println(a | b);
結(jié)果為:
~(按位取反)
如果二進制位為0,則轉(zhuǎn)為1;如果該位為1,則轉(zhuǎn)為0。
例如:
^(按位異或)
如果兩個數(shù)字的二進制位相同, 則結(jié)果為0, 相異則結(jié)果為1。
例如:
int a = 10; int b = 13; System.out.println(a ^ b);
結(jié)果為:
移位運算符
<< >> >>>
<<(左移)
<<:左邊丟棄,右邊補0
例如:
int a = 10; int b = a << 1; System.out.println(b);
結(jié)果為:
>>(右移)
>>:右邊丟棄,左邊補符號位(正數(shù)補0,負數(shù)補1)
例如:
int a = 10; int b = a >> 1; System.out.println(b);
結(jié)果為:
>>>(無符號右移)
>>>:右邊丟棄,左邊補0
方法同上。
注意:
左移 1 位, 相當于原數(shù)字 * 2. 左移 N 位, 相當于原數(shù)字 * 2 的N次方.
右移 1 位, 相當于原數(shù)字 / 2. 右移 N 位, 相當于原數(shù)字 / 2 的N次方.
由于計算機計算移位效率高于計算乘除, 當某個代碼正好乘除 2 的N次方的時候可以用移位運算代替.
移動負數(shù)位或者移位位數(shù)過大都沒有意義
條件運算符
表達式1 ? 表達式2 : 表達式3
當表達式1為true時,整個表達式的結(jié)果為表達式2的結(jié)果;當表達式1為false時,整個表達式的結(jié)果為表達式3的結(jié)果。
例如:
int a = 10; int b = 20; int c = a > b ? a : b; System.out.println(c);
結(jié)果為:
總結(jié)
本篇文章就到這里了,希望能給你帶來幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容!
相關(guān)文章
IDEA配置tomcat的方法、IDEA配置tomcat運行web項目詳解
這篇文章主要介紹了IDEA配置tomcat的方法、IDEA配置tomcat運行web項目詳解,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-07-07JAVA LinkedList和ArrayList的使用及性能分析
JAVA LinkedList和ArrayList的使用及性能分析,這篇文章也是以JAVA List的總結(jié)。2013-11-11SpringBoot+Thymeleaf+ECharts實現(xiàn)大數(shù)據(jù)可視化(基礎(chǔ)篇)
本文主要介紹了SpringBoot+Thymeleaf+ECharts實現(xiàn)大數(shù)據(jù)可視化,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧<BR>2022-06-06Swagger-boostrap-ui如何配置用戶名密碼訪問
這篇文章主要介紹了Swagger-boostrap-ui如何配置用戶名密碼訪問,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-05-05Springboot配置Swagger2登錄密碼的實現(xiàn)
本文主要介紹了Springboot配置Swagger2登錄密碼的實現(xiàn),文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2022-03-03