算術運算符
+ 加法 相加運算符兩側的值
-? 減法 左操作數減去右操作數
*? 乘法 相乘操作符兩側的值
/? 除法 左操作數除以右操作數(int類型的數相除時,會得到int類型的值,如果結果有小數,則小數部分會被舍棄)
% 模余運算(取余數)左邊操作數除右邊操作數的余數(模余,也就是取余數)
++ 自增,變量的值增加1,注意為了增加diamante的可讀性,建議一定要加括號
System.out.println('x++="+(x++));先打印在執行
System.out.println("+xx="+(++x));先執行在打印
--? 自減 ,變量的值減少1
算術運算符只能運用在數字類型數據之間的計算
關系運算符
== 檢查兩個操作數的值是否相等,如果相等則表達式返回真真
!=檢查兩個操作數的值是否相等,如果值不相等,則表達式返回真
>檢查左操作數的值是否大于右操作數的值,如果是則表達式返回真
<檢查左操作數的值是否小于右操作數的值,如果是則表達式返回真
>=檢查左操作數的值是否大于或等于右操作數的值,如果是則表達式返回真
<=檢查左操作數的值是否小于或等于右操作數的值,如果是則表達式返回真
注意關系運算符只能運用在數值類型數據之間的運算,運算結果是布爾型的值,測試兩個操作數之間的關系(但不會改變操作數的值)
System.out.println("(4==1)="+(4==1));???????? (4==1)=false
數值類型的取反 -
布爾類型的取反!
int z =-30;
System.out.println("數值類型取反"+(-z));?????????? 數值類型取反30
boolean j = false;
System.out.println("j="+!j);????????????????????????????????? j=true
邏輯運算符
& 稱為邏輯與運算符。當且僅當運算符兩邊的表達式都為真時,最后運算結果才為真? 不管左邊是真是假,都會執行右邊
&& 稱為短路與運算符,當且僅當兩個操作數都為真,才為真。注意:如果前面的表達式為假,后面的表達式就不會執行,所以叫短路與
| 稱為邏輯或運算符,如果兩個操作數任何一個為真則返回為真
|| 稱為短路或操作符,如果任何兩個操作數任何一個為真,條件為真,但是值得注意的是,如果前面的表達式為真,則后面的表達式不會執行,所以叫短路或
!邏輯非運算符,用來反轉操作數的邏輯狀態,如果條件為true,則邏輯非運算符將得到false
注意:邏輯運算符只能運用在boolean類型的數據之間的運算
序號 | 條件1 | 條件2 | & | && | | | || |
1 | TRUE | TRUE | TRUE | TRUE | TRUE | TRUE |
2 | TRUE | FALSE | FALSE | FALSE | TRUE | TRUE |
3 | FALSE | TRUE | FALSE | FALSE | TRUE | TRUE |
4 | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE |
boolean g =false;
System.out.println("!g="+(!g));?????????????????? !g=true
賦值運算符
=簡單的賦值運算符,將運算符右邊的值賦給左側變量,int C=1+2將把1+2得到的3賦給C
+= 加和賦值操作符,它把左操作數和右操作數相加賦值給左操作數,C+=A等價于C=C+A
-= 減和賦值運算符它把左操作數和右操作數相減賦值給左操作數C-=A等價于C=C-A
*=乘和賦值運算符,它把左操作數和右操作數相乘賦值賦值給左操作數
/=除和賦值操作符,它把左操作數和右操作數相除賦值給左操作數
(%)=,取模和賦值操作符,它把左操作數和右操作數取模賦值給左操作數
運算順序是從右到左的
三目運算符
(A==B?A:B)A是否等于B,等于的話輸出A,不等于的話輸出B
int x =5;
int y=5;
int z= 10;
System.out.println(x==y?"X":"Y");??????????????????? X
運算順序
1.括號
2.++,--
3.*,/,%(同一優先級,從左至右)
4.+,-(同一優先級,從左至右)
注意:
1.同一優先級運算符的運算順序為:從左至右
2.運算復雜的時候要一步步拆解