首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 程式設計入門

Java 運算符大全:算術、關係、位、邏輯、賦值、三元與優先級詳解

     編輯:Java 程式設計入門

Java 運算符大全:算術、關係、位、邏輯、賦值、三元與優先級詳解

運算符操作變數進行計算、比較、邏輯判斷。分為六大類。


算術運算符

運算符說明範例 (a=10,b=20)
+加法a+b=30
-減法a-b=-10
*乘法a*b=200
/除法 (整數除法捨去小數)b/a=2
%取模 (餘數)b%a=0
++自增++a=11, a++=10(後用)
--自減--b=19, b--=20(後用)

前綴 vs 後綴自增減

int a = 5, b = 5;
int x = 2 * ++a; // a=6, x=12 (先增後用)
int y = 2 * b++; // b=6, y=10 (先用後增)

關係運算符 (返回 boolean)

運算符說明範例 (a=10,b=20)
==等於a==b → false
!=不等於a!=b → true
>大於a>b → false
<小於a<b → true
>=大於等於b>=a → true
<=小於等於b<=a → false

位運算符 (操作整數二進制位)

假設 a=60 (0011 1100), b=13 (0000 1101)

運算符說明結果
&按位與 (同為1才1)12 (0000 1100)
|按位或 (有1即1)61 (0011 1101)
^按位異或 (不同為1)49 (0011 0001)
~按位取反 (0↔1)-61 (補碼 1100 0011)
<<左移 (低位補0)a<<2 = 240 (1111 0000)
>>右移 (符號位延伸)a>>2 = 15 (0000 1111)
>>>無符號右移 (高位補0)a>>>2 = 15 (0000 1111)

邏輯運算符

運算符名稱規則範例 (a=true,b=false)
&&邏輯與全真才真a&&b → false
||邏輯或一真即真a||b → true
!邏輯非取反!(a&&b) → true

短路特性

  • &&:左邊 false → 右邊不執行。
  • ||:左邊 true → 右邊不執行。
int a = 5;
boolean b = (a < 4) && (a++ < 10); // a<4 為 false,短路,a 不增
System.out.println(a); // 5

賦值運算符

運算符說明等價寫法
=簡單賦值c = a + b
+=, -=, *=, /=, %=算術賦值c += a → c = c + a
<<=, >>=, >>>=移位賦值c <<= 2 → c = c << 2
&=, ^=, |=位運算賦值c &= 2 → c = c & 2

條件運算符 (三元運算符)

變數 = (布林運算式) ? 值1 : 值2;
// 相當於
if (布林運算式) 變數 = 值1; else 變數 = 值2;

範例

int a = 10;
int b = (a == 1) ? 20 : 30; // 30
b = (a == 10) ? 20 : 30;    // 20

instanceof 運算符

檢查物件是否為特定類型 (類/介面/父類) 的實例:

String s = "Hello";
boolean b = s instanceof String; // true

Object obj = new ArrayList();
obj instanceof List;    // true
obj instanceof ArrayList; // true
obj instanceof String;    // false

運算符優先級表 (高→低)

優先級運算符結合性
1後綴 () [] .左→右
2一元 ++ -- + - ! ~右→左
3乘性 * / %左→右
4加性 + -左→右
5移位 << >> >>>左→右
6關係 < <= > >= instanceof左→右
7相等 == !=左→右
8按位與 &左→右
9按位異或 ^左→右
10按位或 |左→右
11邏輯與 &&左→右
12邏輯或 ||左→右
13條件 ? :右→左
14賦值 = += -= *= /= %= &= ^= |= <<= >>= >>>=右→左
15逗號 ,左→右
最佳實踐: 複雜運算式請用括號 () 明確優先級,提升可讀性並避免錯誤。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved