算術運算符spa
運算符是用來計算數據的符號。數據能夠是常量,也能夠是變量。被運算符操做的數咱們稱爲操做數。算術運算符最多見的操做就是將操做數參與數學計算code
運算符blog |
運算規則ci |
範例字符串 |
結果數學 |
+table |
正號class |
+3基礎 |
3變量 |
+ |
加 |
2+3 |
5 |
+ |
鏈接字符串 |
「中」+「國」 |
「中國」 |
- |
負號 |
int a=3;-a |
-3 |
- |
減 |
3-1 |
2 |
* |
乘 |
2*3 |
6 |
/ |
除 |
5/2 |
2 |
% |
取模 |
5/2 |
1 |
++ |
自增 |
int a=1;a++/++a |
2 |
-- |
自減 |
int b=3;a--/--a |
2 |
注意下列事項:
l 加法運算符在鏈接字符串時要注意,只有直接與字符串相加纔會轉成字符串。
l 除法「/」當兩邊爲整數時,取整數部分,舍餘數。當其中一邊爲浮點型時,按正常規則相除。
l 「%」爲整除取餘符號,小數取餘沒有意義。結果符號與被取餘符號相同。
l 整數作被除數,0不能作除數,不然報錯。
* 算術運算符 */ public class OperatorDemo1 { public static void main(String[] args) { /* * 常量使用算數運算符 */ System.out.println(10+20); /* * 變量使用算數運算符 */ int x = 10; int y = 20; //"+"做爲加法運算使用 int z = x + y; //"+"做爲鏈接字符串使用 System.out.println("x="+x); System.out.println("y="+y); System.out.println("z="+z); } }
l ++運算符,會在原有值的基礎上自增1;
l --運算符,會在原有值的基礎上自減1。
l ++,--運算符後置時,先使用變量a原有值參與運算操做,運算操做完成後,變量a的值自增1或者自減1;
l ++,--運算符前置時,先將變量a的值自增1或者自減1,而後使用更新後的新值參與運算操做。
運算符 |
運算規則 |
範例 |
結果 |
= |
賦值 |
int a=2 |
2 |
+= |
加後賦值 |
int a=2,a+=2 |
4 |
-= |
減後賦值 |
int a=2,a-=2 |
0 |
*= |
乘後賦值 |
int a=2,a*=2 |
4 |
/= |
整除後賦值 |
int a=2,a/=2 |
1 |
%= |
取模後賦值 |
int a=2,a%=2 |
0 |
諸如+=這樣形式的賦值運算符,會將結果自動強轉成等號左邊的數據類型。
賦值運算符 * +=, -=, *=, /=, %= : * 上面的運算符做用:將等號左右兩邊計算,會將結果自動強轉成等號左邊的數據類型,再賦值給等號左邊的 * 注意:賦值運算符左邊必須是變量 */ public class OperatorDemo2 { public static void main(String[] args) { byte x = 10; x += 20;// 至關於 x = (byte)(x+20); System.out.println(x); } }
輸出結果爲x=30
運算符 |
運算規則 |
範例 |
結果 |
== |
相等於 |
4==3 |
False |
!= |
不等於 |
4!=3 |
True |
< |
小於 |
4<3 |
False |
> |
大於 |
4>3 |
True |
<= |
小於等於 |
4<=3 |
False |
>= |
大於等於 |
4>=3 |
True |
賦值運算符的 = 符號與比較運算符的 == 符號是有區別的,以下:
賦值運算符的 = 符號,是用來將 = 符號右邊的值,賦值給 = 符號左邊的變量;
比較運算符的 == 符號,是用來判斷 == 符號 左右變量的值是否相等的。
int a = 3; int b = 4; System.out.println( a=b ); System.out.println( a==b ); 上面代碼輸出的結果第一個值爲4,第二個值爲false。
運算符 |
運算規則 |
範例 |
結果 |
& |
與 |
false&true |
False |
| |
或 |
false|true |
True |
^ |
異或 |
true^flase |
True |
! |
非 |
!true |
Flase |
&& |
短路與 |
false&&true |
False |
|| |
短路或 |
false||true |
True |
邏輯運算符,它是用於布爾值進行運算的,運算的最終結果爲布爾值true或false。
邏輯運算符一般鏈接兩個其餘表達式計算後的布爾值結果
當使用短路與或者短路或時,只要能判斷出結果則後邊的部分就再也不判斷。
boolean b = 100>10; boolean b2 = false; System.out.println(b&&b2); // 打印結果爲 false System.out.println(b||b2); //打印結果爲 true System.out.println(!b2); //打印結果爲 true System.out.println(b && 100>10); //打印結果爲 true,
l 短路與&&:參與運算的兩邊數據,有false,則運算結果爲false;
l 短路或||:參與運算的兩邊數據,有true,則運算結果爲true;
l 邏輯非! : 參與運算的數據,原先是true則變成false,原先是false則變成true。
格式:
(條件表達式)?表達式1:表達式2;
表達式:通俗的說,即經過使用運算符將操做數聯繫起來的式子,例如:
3+2,使用算數運算符將操做數聯繫起來,這種狀況,咱們稱爲算數表達式。
3>2,使用比較運算符(也稱爲條件運算符)將操做數聯繫起來,這種狀況,咱們稱爲條件表達式。
其餘表達式,再也不一一舉例。
l 三元運算符運算規則:
先判斷條件表達式的值,若爲true,運算結果爲表達式1;若爲false,運算結果爲表達式2。
方式一: System.out.println( 3>2 ? 「正確」 : 「錯誤」 ); // 三元運算符運算後的結果爲true,運算結果爲表達式1的值「正確」,而後將結果「正確」,在控制檯輸出打印 方式二: int a = 3; int b = 4; String result = (a==b) ? 「相等」 : 「不相等」; //三元運算符運算後的結果爲false,運算結果爲表達式2的值「不相等」,而後將結果賦值給了變量result 方式三: int n = (3>2 && 4>6) ? 100 : 200; //三元運算符運算後的結果爲false,運算結果爲表達式2的值200,而後將結果200賦值給了變量n
優先級 |
描述 |
運算符 |
1 |
括號 |
()、[] |
2 |
正負號 |
+、- |
3 |
自增自減,非 |
++、--、! |
4 |
乘除,取餘 |
*、/、% |
5 |
加減 |
+、- |
6 |
移位運算 |
<<、>>、>>> |
7 |
大小關係 |
>、>=、<、<= |
8 |
相等關係 |
==、!= |
9 |
按位與 |
& |
10 |
按位異或 |
^ |
11 |
按位或 |
| |
12 |
邏輯與 |
&& |
13 |
邏輯或 |
|| |
14 |
條件運算 |
?: |
15 |
賦值運算 |
=、+=、-=、*=、/=、%= |
16 |
位賦值運算 |
&=、|=、<<=、>>=、>>>= |