本章涵蓋 Java 基礎語法精髓,從資料型別、變數、運算元到控制流程、陣列,是進階學習的基石。以下為結構化筆記,供快速查閱與複習。
.javamain 必須 static,屬於類方法// 單行、/* */ 多行(不可巢狀)/** */ Javadoc,可生成 API 文檔| 分類 | 型別 | 位元 | 範圍/精度 | 預設值 | 包裝類 |
|---|---|---|---|---|---|
| 整數 | byte | 8 | -128~127 | 0 | Byte |
| short | 16 | -32768~32767 | 0 | Short | |
| int | 32 | -2^31~2^31-1 | 0 | Integer | |
| long | 64 | -2^63~2^63-1 | 0L | Long | |
| 浮點 | float | 32 | IEEE 754 單精度 | 0.0f | Float |
| double | 64 | IEEE 754 雙精度 | 0.0d | Double | |
| 字元 | char | 16 | UTF-16 碼元 \u0000-\uffff | \u0000 | Character |
| 布林 | boolean | ~ | true/false | false | Boolean |
補充: BigInteger/BigDecimal 任意精度(非基本型別,屬物件)。
L(建議大寫避免與 1 混淆)0x、八進制 0(易混淆少用)、二進制 0b(JDK 7+)_(JDK 7+):1_000_000float 後綴 F,double 可無後綴或 D0x1.0p-3(p 表 2 的指數)Infinity、-Infinity、NaNDouble.isNaN(x) 判斷 NaN,x == Double.NaN 永為 falseBigDecimalchar = UTF-16 碼元(16 位),非完整字符(碼點可能需 2 碼元)\n \t \r \b \" \' \\型別 變數名 [= 初值];final 常數:只能賦值一次,慣例全大寫;static final 類常數+ - * / %。整數除法截斷,浮點除法得無窮/NaN+= -= *= /= %=strictfp 強制嚴格浮點運算(IEEE 754),可修飾類/方法++ -- 前綴先運算後取值,後綴先取值後運算。避免在複雜表達式中使用== != < <= > >=、&& || !(短路)、?: 三元& | ^ ~ << >> >>>(無 <<<)Math 工具類:sqrt pow sin cos PI E 等,StrictMath 保證跨平台位元級一致(型別)值,浮點轉 int 直接截斷,四捨五入用 Math.roundenum Size {S,M,L,XL},型別安全、可用於 switchString 不可變,修改產生新物件length() 碼元數,codePointCount() 實際字符數substring、+ 拼接、equals/equalsIgnoreCase(嚴禁 ==)、isEmpty()"" vs null:str != null && !str.isEmpty()(短路順序固定)StringBuilder(單執行緒)、StringBuffer(多執行緒)Scanner 讀取控制台/檔案,System.out/err 輸出printf/format 格式化輸出{} 內變數不可重名,可巢狀if/else if/else、while/do-while、for(;;)、for-each(for (Type e : arr))switch(支援 int/char/String/enum)break/continue 可帶標籤跳出多層迴圈goto 但不可用BigInteger 任意精度整數,BigDecimal 任意精度浮點add/subtract/multiply/divideint[] a = new int[100]; 或 int[] a = {1,2,3};a.length(不可變),Arrays.toString(a) 列印Arrays.copyOf/copyOfRange、System.arraycopynew int[3][] 每行長度可不同new int[]{1,2,3}第 3 章是 Java 語法核心,建議配合官方 API 文檔與編譯器警告深入理解每個細節。