一、算數運算符
一元運算符
算術一元運算符一共有3個,分別是-、++和–。
示例代碼如下:
int a = 12;
//是把a變量取反
System.out.println(-a);
//先把a賦值給b變量再加一,即先 賦值後++
int b = a++;
System.out.println(b);
//先把a加一,再把a賦值給b變量,即先++後賦值
b = ++a;
System.out.println(b);
輸出結果:
-12
12
14
二元運算符
二元運算符包括:+、-、*、/和%,這些運算符對數值類型數據都有效
算術賦值運算符
二、關係運算符
關係運算是比較兩個表達式大小關係的運算,它的結果是布爾類型數據,即true或false。關係運算符有 6種:==、!=、>、<、>=和<=。
==和!=可以應用於基本數據類型和引用數據類型。當用於引用數據類型比較時,比較的是 兩個引用是否指向同一個對象,但在實際開發過程中多數情況下,只是比較對象的內容是否相 當,不需要比較是否爲同一個對象。
三、邏輯運算符
邏輯運算符是對布爾型變量進行運算,其結果也是布爾型。
短路與(&&)和短路或(||)能夠採用最優化的計算方式,從而提高效率。在實際編程 時,應該優先考慮使用短路與和短路或。
示例代碼如下:
int i = 0;
int a = 10;
int b = 9;
if ((a > b) || (i == 1)) {
System.out.println("或運算爲 真");
} else {
System.out.println("或運算爲 假"); }
if ((a < b) && (i == 1)) {
System.out.println("與運算爲 真");
} else {
System.out.println("與運算爲 假");
}
if ((a > b) || (a++ == --b)) {
System.out.println("a = " + a);
System.out.println("b = " + b);
}
運行結果:
或運算爲 真
與運算爲 假
a = 10, b = 9
四、位運算符
位運算是以二進位(bit)爲單位進行運算的,操作數和結果都是整型數據。位運算符有如下幾個運算 符:&、|、^、~、>>、<<和>>>,以及相應的賦值運算符。
無符號右移>>>運算符僅被允許用在int和long整數類型, 如果用於short或byte數據, 則數據在 位移之前,轉換爲int類型後再進行位移計算。
位運算示例代碼:
//十進制50
byte a = 0B00110010;
//十進制94
byte b = 0B01011110;
// 0B01111110
System.out.println("a | b = " + (a | b));
// 0B00010010
System.out.println("a & b = " + (a & b));
// 0B01101100
System.out.println("a ^ b = " + (a ^ b));
// 0B10100001
System.out.println("~b = " + (~b));
// 0B00001100
System.out.println("a >> 2 = " + (a >> 2));
// 0B00011001
System.out.println("a >> 1 = " + (a >> 1));
// 0B00001100
System.out.println("a >>> 2 = " + (a >>> 2));
// 0B11001000
System.out.println("a << 2 = " + (a << 2));
// 0B01100100
System.out.println("a << 1 = " + (a << 1));
int c = -12;
System.out.println("c >>> 2 = " + (c >>> 2));
System.out.println("c >> 2 = " + (c >> 2));
運行結果:
a | b = 126
a & b = 18
a ^ b = 108
~b = -95
a >> 2 = 12
a >> 1 = 25
a >>> 2 = 12
a << 2 = 200
a << 1 = 100
c >>> 2 = 1073741821
c >> 2 = -3
五、其他運算符
除了前面介紹的主要運算符,Java還有一些其他運算符。
- 三元運算符(? :)。例如x?y:z;,其中x、y和z都爲表達式。
- 小括號。起到改變表達式運算順序的作用,它的優先級最高。
- 中括號。數組下標。
- 引用號(.)。對象調用實例變量或實例方法的操作符,也是類調用靜態變量或靜態方法的操作 符。
- 賦值號(=)。賦值是用等號運算符(=)進行的。
- instanceof。判斷某個對象是否爲屬於某個類。
- new。對象內存分配運算符。
- 箭頭(->)。Java 8新增加的,用來聲明Lambda表達式。
- 雙冒號(::)。Java 8新增加的,用於Lambda表達式中方法的引用。
示例代碼如下:
import java.util.Date;
public class HelloWorld {
public static void main(String[] args) {
int score = 80;
// 三元運算符(? : )
String result = score > 60 ? "及格" : "不及格";
System.out.println(result);
// new運算符可以創建Date對象
Date date = new Date();
//通過.運算符調用方法
System.out.println(date.toString());
}
}
六、運算符優先級
在一個表達式計算過程中,運算符的優先級非常重要。表中從上到小,運算符的優先級從高到低, 同一行具有相同的優先級。二元運算符計算順序從左向右,但是先級15的賦值運算符的計算順序從右 向左的。
運算符優先級大體順序,從高到低是:
算術運算符→位運算符→關係運算符→邏輯運算符 →賦值運算符
以上內容僅供參考學習,如有侵權請聯繫我刪除!
如果這篇文章對您有幫助,左下角的大拇指就是對博主最大的鼓勵。
您的鼓勵就是博主最大的動力!