一篇文章帶你入門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)文章
java中functional interface的分類和使用詳解
這篇文章主要介紹了java中functional interface的分類和使用,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-04-04
java socket實現(xiàn)聊天室 java實現(xiàn)多人聊天功能
這篇文章主要為大家詳細介紹了java socket實現(xiàn)聊天室,java實現(xiàn)多人聊天功能,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2018-07-07
SpringBoot基于HttpMessageConverter實現(xiàn)全局日期格式化
這篇文章主要介紹了SpringBoot基于HttpMessageConverter實現(xiàn)全局日期格式化,使用Jackson消息轉(zhuǎn)換器,非常具有實用價值,需要的朋友可以參考下2018-12-12
詳解Spring Security中權(quán)限注解的使用
這篇文章主要為大家詳細介紹一下Spring Security中權(quán)限注解的使用方法,文中的示例代碼講解詳細,對我們學習或工作有一定參考價值,需要的可以參考一下2022-05-05
SpringBoot使用SensitiveWord實現(xiàn)敏感詞過濾
這篇文章主要為大家詳細介紹了SpringBoot如何使用SensitiveWord實現(xiàn)敏感詞過濾功能,文中示例代碼講解詳細,感興趣的小伙伴可以了解一下2023-01-01

