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

Java 基礎語法精要:修飾符、運算符優先級與核心特性速查表

     編輯:Java 相關知識

修飾符與運算符是 Java 程序的骨架。熟練掌握它們的語義、優先級、邊界行為,是寫出正確、高性能、可維護代碼的前提。

修飾符分類速查

類別關鍵字作用目標核心語義
訪問控制public類/接口/成員全局可見
protected成員同包 + 子類可見
default (無)類/接口/成員同包可見
private成員/內部類僅本類可見
非訪問static成員/內部類/代碼塊屬於類、共享、無 this
final類/方法/變量/參數不可繼承/重寫/修改/重新賦值
abstract類/方法強制子類實現、不可實例化
synchronized方法/代碼塊內置鎖、互斥、可見性
volatile變量可見性、禁止指令重排、非原子
transient字段序列化忽略
strictfp類/方法浮點運算嚴格遵循 IEEE 754
native方法本地實現 (JNI)

運算符優先級完整表 (高到低)


1. 後綴:          expr++ expr--  ()  []  .
2. 一元:          ++expr --expr  +expr -expr  ~  !  (type)new
3. 乘性:          *  /  %
4. 加性:          +  -
5. 移位:          <<  >>  >>>
6. 關系:          <  <=  >  >=  instanceof
7. 相等:          ==  !=
8. 按位與:        &
9. 按位異或:      ^
10. 按位或:       |
11. 邏輯與:       &&
12. 邏輯或:       ||
13. 三元:         ? :
14. 賦值:         =  +=  -=  *=  /=  %=  &=  ^=  |=  <<=  >>=  >>>=
15. Lambda:       ->  (箭頭運算符,最低)

核心運算符行為詳解

1. 算術運算符

  • + 兼具數值加法與字符串拼接 (任意操作數為 String 觸發)。
  • ++/-- 前綴返回新值,後綴返回舊值。
  • 整數除以 0 拋 ArithmeticException,浮點數產生 Infinity/NaN。

2. 關系與相等運算符

  • ==:基本類型比值,引用類型比地址。
  • equals():需重寫比較內容 (String、包裝類、集合已重寫)。
  • instanceof:模式匹配 (Java 16+) if (obj instanceof String s) { ... }。

3. 位運算符 (僅整數類型)

  • & | ^ ~:按位與/或/異或/取反。
  • << >> >>>:左移/算術右移/邏輯右移 (無符號補 0)。
  • 技巧:n << 1 == n*2, n >> 1 == n/2, n & 1 判奇偶, n & (n-1) 清除最低位 1。

4. 邏輯運算符 (短路特性)

  • && ||:短路求值,右側表達式可能不執行。
  • & |:非短路,雙邊必執行 (少用,除非有副作用需求)。

5. 賦值運算符

  • 復合賦值 += 含隱式強轉:byte b=1; b+=2; // 合法,等價 b=(byte)(b+2)。

6. 三元運算符

  • condition ? expr1 : expr2:類型推導向上兼容 (如 int 和 double 結果為 double),NPE 風險 (自動拆箱)。

易錯點總結

  1. a=b=c=1 右結合:a=(b=(c=1))。
  2. + 左結合:1+2+"3" == "33", "1"+2+3 == "123"。
  3. == 比較包裝類緩存範圍 (-128~127) 可能返回 true,超出則 false,**務必用 equals**。
  4. volatile 不保證複合操作原子性 (如 i++),需 AtomicInteger 或 synchronized。

將優先級表與修飾符語義內化為肌肉記憶,代碼閱讀與編寫將暢行無阻。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved