一、運算符概況
java中的全部運算符
像其中的位運算符很少使用,有些運算符比較簡單所以總結一些常見的混淆之處,千萬不要小看這些基礎,編程中大多的錯誤都是對這些基礎理解的不夠透徹。
二、算術運算符(++運算符)
- 作用:變量值自加1
1.++可以出現在變量前,也會出現在變量後,結果變量加1
int i =10;
i++;//i=11
++i;//i=11
2.當++出現在變量後,先做賦值運算,再自加1
int m = 10;
int n = m++;//n=10,m=11
3.當++出現在變量前,先做自加1運算,再賦值
int x = 100;
int y = ++x;//x=101,y=101
三、關係運算符
- 作用:比較兩個值的關係
注意:
- 1.所有關係運算符,結果都是布爾類型
- 2.兩個符號間不能有空格,如>=
- 3.判斷兩個值相等是==,而不是=
四、邏輯運算符(邏輯與與短路與區別)
邏輯與& 、短路與&&
- 相同:結果完全相同
- 區別:短路與發生短路現象,短路與比邏輯與效率要高
什麼是短路
- 使用短路與,當左邊表達式爲false,右邊表達式不執行,稱爲短路
例子解釋短路
先看邏輯與
int x = 10;
int y = 11;
system.out.println(x>y & x>y++);//當x>y爲false,整個結果爲false,x>y++不需要執行
system.out.println(y);//輸出12,證明y++執行了
再看短路與
system.out.println(x>y && x>y++);
system.out.println(y);//輸出11,證明y++沒有執行
什麼時候使用短路與,什麼時候使用邏輯與
- 大部分情況使用短路與
- 當兩邊表達式都需要執行時,使用邏輯與
總結
- &&短路與:當左邊表達式爲false時,右邊表達式不執行
- || 短路或:當左邊表達式爲true 時,右邊表達式不執行
五、賦值運算符
- age=10,代碼先執行右邊,賦值給左邊
- int a=10;int b=a;相當於將a裏的值複製一份給了b
- 類似:A a = new A();A c = a;將引用a的地址值賦給c
六、條件運算符
是什麼
- 布爾表達式 ?表達式1 :表達式2
執行原理
- 布爾表達式結果true,執行表達式1
- 結果爲false,執行表達式2
注意:
boolean sex = true;
sex?'男' : '女';
//編譯錯誤:不是語句
分析
- java不存在單個字面量,即寫’男’會報錯
改爲,char c = sex?‘男’ : ‘女’;
七、字符串拼接運算符+
+的作用
- 求和:兩邊是數字類型
- 字符串拼接:兩邊“任意一邊”是字符串,結果還是一個字符串
執行順序
- 當表達式中有多個+時,遵循自左向右的順序依次執行
- a+ “+” + b+"="+a+b