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

Java 基礎核心知識點精華總結

     編輯:Java 程式設計入門

語法基礎

  • 單一 public 類別:一個 .java 檔最多一個 public class,檔名必須與該類別同名。
  • 文件註釋:/** ... */ 可被 javadoc 解析生成 API 文件。
  • 整數字面值:預設 int,超過 2147483647 需加 L 變 long(如 3000000000L)。
  • 常用常數:Integer.MAX_VALUE、Double.MIN_VALUE 等。

資料型別與轉換

類別位元範圍/預設值
byte8-128~127 / 0
short16-32768~32767 / 0
int32-2^31~2^31-1 / 0
long64-2^63~2^63-1 / 0L
float32±3.4e-45~3.4e38 / 0.0f
double64±1.7e-308~1.7e308 / 0.0
char160~65535 / '\u0000'
boolean~1true/false / false

自動型別提升規則

  1. byte/short/char → int → long → float → double
  2. boolean 不參與任何數值轉換。
  3. 表達式中有 double,整個表達式提升為 double。

強制轉型(縮小轉換)

可能損失精度/溢位,需明確 (targetType) value。

運算子優先序(高→低)

  1. () [] .
  2. ++ -- + - ~ !(一元)
  3. * / %
  4. + -
  5. << >> >>>
  6. < <= > >= instanceof
  7. == !=
  8. &
  9. ^
  10. |
  11. &&
  12. ||
  13. ?:
  14. = += -= *= ...

流程控制

  • switch:支援 int、char、String(Java 7+)、enum。
  • for:for(init; condition; step) 三段式;增強型 for(E e : coll)。
  • while / do-while:前測試 / 後測試。

陣列操作

  • System.arraycopy(src, srcPos, dest, destPos, len) 高效複製。
  • Arrays.sort(arr) 自然排序;Arrays.binarySearch(arr, key) 二分搜尋(需已排序)。
  • 二維陣列每列長度可不同(鋸齒陣列)。

物件導向核心

  • == vs equals():== 比較參考位址;equals() 比較內容(需覆寫)。
  • this:當前物件引用;this() 呼叫同類別其他建構子(必須第一行)。
  • static 區塊:類別載入時執行一次,常用於靜態欄位初始化。
  • private 建構子:單例模式、工具類防實例化。
  • 內部類別:非靜態內部類持有外部類引用;static 內部類不持有,可獨立實例化。

繼承與多型

  • 子類別實例化先呼叫父類別建構子(隱含 super() 或顯式 super(...))。
  • 未顯式 extends 則隱含繼承 Object。
  • instanceof 判斷型別(含介面實作關係)。
  • Object.toString()、equals()、hashCode() 建議覆寫。

介面特性

  • 欄位隱含 public static final(常數,必須初始化)。
  • 方法隱含 public abstract(Java 8 前);Java 8+ 可 default/static/private。
  • 類別可實作多介面;介面可繼承多介面。
  • 介面不可實例化、無建構子。

異常處理

  • 體系:Throwable → Error / Exception → RuntimeException / Checked Exception。
  • try-catch-finally / try-with-resources(JDK 7+ 自動關閉 AutoCloseable)。
  • throws 拋出檢查型異常,呼叫端必須捕獲或繼續拋出。
  • 自訂異常繼承 Exception 或 RuntimeException,保留原因鏈。

常用工具類

  • StringBuilder:非執行緒安全、高效字串操作(優於 StringBuffer)。
  • System.currentTimeMillis() / nanoTime() 計時。
  • Runtime.getRuntime() 取得執行環境(記憶體、處理器、執行外部程式)。

多執行緒基礎

建立方式關鍵點
extends Thread覆寫 run(),呼叫 start() 啟動(不可多次 start)
implements Runnable實作 run(),包裝 new Thread(runnable).start(),可共享資料
ExecutorService線程池管理、Future/Callable、CompletableFuture(推薦現代寫法)
  • 五大狀態:NEW、RUNNABLE、BLOCKED、WAITING、TERMINATED。
  • sleep() 靜態讓出 CPU;wait()/notify() 需在 synchronized 區塊操作監視器鎖。
  • join() 等待執行緒結束;interrupt() 中斷標記。
  • synchronized(方法/區塊)、Lock、volatile 保證可見性/原子性。
  • 守護執行緒:setDaemon(true) 必須在 start() 前;JVM 僅剩守護執行緒時退出。

IO 與網路基礎

  • 位元組流(InputStream/OutputStream)vs 字元流(Reader/Writer)。
  • 裝飾器模式:BufferedInputStream、DataOutputStream 等包裝增強。
  • Socket:ServerSocket.accept() 阻塞等待連線;getInputStream()/getOutputStream() 讀寫資料。
  • UDP:DatagramSocket + DatagramPacket 無連線傳輸。

打包與部署

  • jar cvf app.jar -C bin/ . 打包;java -jar app.jar 執行(需 Manifest Main-Class)。
  • 模組化(Java 9+):module-info.java、jlink 產出精簡運行時映像。

總結

此表涵蓋 Java SE 核心知識骨架,適合面試複習、快速查閱。建議配合官方文件、Effective Java、實戰專案深化理解,打堅實基礎。

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