Java ——運算符
阿新 • • 發佈:2019-05-11
bsp str pri mil 一個 就會 spa col 關系運算
本節重點思維導圖
遞增遞減
前綴自增自減法(++a,--a): 先進行自增、減運算,再進行表達式運算
後綴自增自減法(a++,a--): 先進行表達式運算,再進行自增、減運算
例【1】:
int a = 2; int b = ++a; System.out.println("++a = " + b); a=2; int c = --a; System.out.println("--a = " + c); a=2; int x = a--; System.out.println("a-- = " + x); a=2; int y = a++; System.out.println("a++ = " + y);
結果: 3 1 2 2
例【2】:
int a = 2; if(a++ == 2) System.out.println("a++ = 2"); a = 2; if(a-- == 2) System.out.println("a-- = 2"); a = 2; if(--a == 1) System.out.println("--a == 1"); a = 2; if(++a == 3) System.out.println("++a == 3");
結果:
a++ = 2 a-- = 2 --a == 1 ++a == 3
賦值運算符
int a =3; a+=3; a = a+3; a-=4; a = a-4; a*=5 a= a*5; a/= 3 a= a/3; a%b a%=b a = a%b;
關系運算符
結果是boolean類型
>、>=、<、<=、==、!=
int a = 47; int b = 7; boolean res1 = a>b; //if a > b,res1 = true System.out.println(res1);boolean res2 = a == b; //if a == b,res2 = true System.out.println(res2); //結果是true false
邏輯運算符
&& 與 ||或 !非
boolean b1 = true; boolean b2 = false; boolean b = b1 || b2; System.out.println(b); System.out.println(!b2);
&& || 與& |的區別,雙的有短路作用:
短路:當結果一定成立時,就不再計算後面的了
int a = 2; boolean b1 = a++ == 2; System.out.println(b1); System.out.println(a); boolean b2 = --a != 2; System.out.println(b2); System.out.println(a); System.out.println("--------------------"); boolean res = b1 && b2; System.out.println(res); System.out.println(a);
結果:
true 3 false 2 -------------------- false 2
^異或運算符
字符能夠進行異或運算
一個字符進行兩次異或運算就會回到原來的值
char c =‘a‘; System.out.println(c^‘0‘); System.out.println((char)(c^‘0‘)); System.out.println(c^‘0‘^‘0‘); System.out.println((char)(c^‘0‘^‘0‘));
結果:
81 Q 97 a
三目運算符
int a = 10; int b = 15; String res = a>b ? "max is a":"max is b"; System.out.println(res);
instanceof 運算符
移位運算符
<<:向左移位,相當於變大為原來的2的多少次冪
>>:向右移位,相當於變小為原來的2的多少次冪
可以快速地計算2的多少次方
int a = 1<<3; //1*2^3 System.out.println(a); a = 4<<6; //4*2^6=2^8 System.out.println(a); a = 256>>3; System.out.println(a);
8
256
32
instanceof 額外補充
1.【總結在上方思維導圖中】
2.
Java ——運算符