微軟證實 Win10 螢幕截圖工具存在崩潰問題,正在研究修復程式
阿新 • • 發佈:2022-05-04
運算子
- 算數運算子
+、-、*、/、%、++、--
- 賦值運算子
=
- 關係運算符
>、<、>=、<=、==、!=、instanceof
- 邏輯運算子
&&、||、!
- 位運算子
&、|、^、~、>>、<<、>>>
參考:理解Java中的byte
- 條件運算子
?:
- 擴充套件運算子
+=、-=、*=、/=
運算子的優先順序,優先使用()
優先順序 | 運算子 | 結合性 |
---|---|---|
1 | ()、[]、{} | 從左到右 |
2 | !、+、-、~、++、-- | 從右到左 |
3 | *、/、% | 從左到右 |
4 | +、- | 從左到右 |
5 | <<、>>、>>> | 從左到右 |
6 | <、<=、>、>=、instanceof | 從左到右 |
7 | !==、!= | 從左到右 |
8 | & | 從左到右 |
9 | ^ | 從左到右 |
10 | | | 從左到右 |
11 | && | 從左到右 |
12 | || | 從左到右 |
13 | ?: | 從右到做 |
14 | =、+=、-=、*=、/=、&=、 | =、^=、~=、<<=、>>=、>>>= |
package operator; public class Demo01 { public static void main(String[] args) { // 二元運算子 int a = 10; int b = 20; System.out.println(a+b); // 30 System.out.println(a-b); // -10 System.out.println(a*b); // 200 System.out.println(a/(double)b); // 0.5 // 有long計算即為long,有double計算即為double,否則都為int long h = 2311434132L; int i = 30; char j = 'A'; byte k = 28; System.out.println(h+i+j+k); // 2311434255 System.out.println(i+j+k); // 123 System.out.println(j+k); // 93 // 關係運算符,與if搭配 int aa = 10; int bb = 20; System.out.println(aa>bb); // false System.out.println(aa<bb); // true System.out.println(aa==bb); // false System.out.println(aa!=bb); // true // 取餘,也叫模運算 System.out.println(aa%bb); // 10 // ++ -- 自增,自減,一元運算子 int x = 3; int y = x++; // 先把3賦值給y,然後自加1,此時x=4 int z = ++x; // 先自加1,此時x=5,然後把5複製給z System.out.println(x); // 5 System.out.println(y); // 3 System.out.println(z); // 5 // 冪運算 2^3 2*2*2=8,使用工具類Math來計算 double pow = Math.pow(2, 8); System.out.println(pow); // 256.0 // 邏輯運算子 boolean b1 = true; boolean b2 = false; System.out.println(b1&& b2); // false System.out.println(b1||b2); // true System.out.println(!b1); // false // 短路運算,如果&&左邊已是false,則右側不會執行,如果||左邊已是true,右側不會執行 int m = 5; boolean kk = (m<4) && (m++<4); System.out.println(kk); // false System.out.println(m); // 5 int p = 7; boolean gg = (p>3)||(p++>3); System.out.println(gg); // true System.out.println(p); // 7 // 如何最快的計算2的3次方.左移乘2,右移除2 int mr = 2 << 3; System.out.println(mr); // 16 // 擴充套件運算子 int a1 = 10; int a2 = 12; a1 += a2; System.out.println(a1); // 22 a1 -= a2; System.out.println(a1); // 10 // 字串連線符 + System.out.println(""+a1+a2); // 1012 System.out.println(a1+a2+""); // 22 System.out.println(a1+""+a2); // 1012 // 三元運算子 // x ? y : z,如果x==true,則結果為y,否則為z boolean xl = 30 < 12; int bbx = xl ? 12 : 15; System.out.println(bbx); // 15 } }