public class,檔名必須與該類別同名。/** ... */ 可被 javadoc 解析生成 API 文件。int,超過 2147483647 需加 L 變 long(如 3000000000L)。Integer.MAX_VALUE、Double.MIN_VALUE 等。| 類別 | 位元 | 範圍/預設值 |
|---|---|---|
| byte | 8 | -128~127 / 0 |
| short | 16 | -32768~32767 / 0 |
| int | 32 | -2^31~2^31-1 / 0 |
| long | 64 | -2^63~2^63-1 / 0L |
| float | 32 | ±3.4e-45~3.4e38 / 0.0f |
| double | 64 | ±1.7e-308~1.7e308 / 0.0 |
| char | 16 | 0~65535 / '\u0000' |
| boolean | ~1 | true/false / false |
可能損失精度/溢位,需明確 (targetType) value。
() [] .++ -- + - ~ !(一元)* / %+ -<< >> >>>< <= > >= instanceof== !=&^|&&||?:= += -= *= ...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) 二分搜尋(需已排序)。== 比較參考位址;equals() 比較內容(需覆寫)。this() 呼叫同類別其他建構子(必須第一行)。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(推薦現代寫法) |
sleep() 靜態讓出 CPU;wait()/notify() 需在 synchronized 區塊操作監視器鎖。join() 等待執行緒結束;interrupt() 中斷標記。synchronized(方法/區塊)、Lock、volatile 保證可見性/原子性。setDaemon(true) 必須在 start() 前;JVM 僅剩守護執行緒時退出。InputStream/OutputStream)vs 字元流(Reader/Writer)。BufferedInputStream、DataOutputStream 等包裝增強。ServerSocket.accept() 阻塞等待連線;getInputStream()/getOutputStream() 讀寫資料。DatagramSocket + DatagramPacket 無連線傳輸。jar cvf app.jar -C bin/ . 打包;java -jar app.jar 執行(需 Manifest Main-Class)。module-info.java、jlink 產出精簡運行時映像。此表涵蓋 Java SE 核心知識骨架,適合面試複習、快速查閱。建議配合官方文件、Effective Java、實戰專案深化理解,打堅實基礎。