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

《Java 核心技術 卷Ⅰ》第 3 章學習筆記:基本程式設計結構完整梳理

     編輯:Java 綜合教學

《Java 核心技術 卷Ⅰ》第 3 章學習筆記:基本程式設計結構完整梳理

本章涵蓋 Java 基礎語法精髓,從資料型別、變數、運算元到控制流程、陣列,是進階學習的基石。以下為結構化筆記,供快速查閱與複習。

3.1 概覽

  • 大小寫敏感
  • 存取修飾符控制可見性
  • 類是構建塊,檔名 = public 類名 + .java
  • 命名慣例:類 PascalCase、方法/變數 camelCase、常數 UPPER_SNAKE
  • main 必須 static,屬於類方法
  • JVM 規範:官方連結

3.2 註解

  • // 單行、/* */ 多行(不可巢狀)
  • /** */ Javadoc,可生成 API 文檔

3.3 資料型別(8 大基本型別)

分類型別位元範圍/精度預設值包裝類
整數byte8-128~1270Byte
short16-32768~327670Short
int32-2^31~2^31-10Integer
long64-2^63~2^63-10LLong
浮點float32IEEE 754 單精度0.0fFloat
double64IEEE 754 雙精度0.0dDouble
字元char16UTF-16 碼元 \u0000-\uffff\u0000Character
布林boolean~true/falsefalseBoolean

補充: BigInteger/BigDecimal 任意精度(非基本型別,屬物件)。

3.3.1 整數字面值

  • 長整數後綴 L(建議大寫避免與 1 混淆)
  • 十六進制 0x、八進制 0(易混淆少用)、二進制 0b(JDK 7+)
  • 數值分隔符 _(JDK 7+):1_000_000

3.3.2 浮點數細節

  • float 後綴 F,double 可無後綴或 D
  • 十六進制浮點:0x1.0p-3(p 表 2 的指數)
  • 特殊值:Infinity、-Infinity、NaN
  • Double.isNaN(x) 判斷 NaN,x == Double.NaN 永為 false
  • 財務計算禁用浮點,改用 BigDecimal

3.3.3 char 與 Unicode

  • Java char = UTF-16 碼元(16 位),非完整字符(碼點可能需 2 碼元)
  • 碼點範圍:基本多文種平面 BMP (U+0000-U+FFFF)、輔助平面 (U+10000-U+10FFFF)
  • UTF-16 編碼:BMP 1 碼元、輔助字符 2 碼元(代理對)
  • 轉義序列:\n \t \r \b \" \' \\

3.4 變數

  • 宣告:型別 變數名 [= 初值];
  • 命名規則:字母/底線/$ 開頭,含 Unicode 字母數字,大小寫敏感,長度無限
  • 良習:就近宣告、逐行宣告、見名知意
  • final 常數:只能賦值一次,慣例全大寫;static final 類常數

3.5 運算元

  • 算術:+ - * / %。整數除法截斷,浮點除法得無窮/NaN
  • 複合賦值:+= -= *= /= %=
  • strictfp 強制嚴格浮點運算(IEEE 754),可修飾類/方法
  • 自增自減:++ -- 前綴先運算後取值,後綴先取值後運算。避免在複雜表達式中使用
  • 關係/邏輯:== != < <= > >=、&& || !(短路)、?: 三元
  • 位運算:& | ^ ~ << >> >>>(無 <<<)
  • Math 工具類:sqrt pow sin cos PI E 等,StrictMath 保證跨平台位元級一致
  • 型別轉換:隱式擴大(無損失)、顯式縮小(可能截斷)、二元運算提升規則(double→float→long→int)
  • 強制轉型:(型別)值,浮點轉 int 直接截斷,四捨五入用 Math.round
  • 運算元優先級表(14 級),同級按結合性(多為左結合,賦值/三元/一元為右結合)
  • 枚舉:enum Size {S,M,L,XL},型別安全、可用於 switch

3.6 字串

  • String 不可變,修改產生新物件
  • 碼元 vs 碼點:length() 碼元數,codePointCount() 實際字符數
  • 常用:substring、+ 拼接、equals/equalsIgnoreCase(嚴禁 ==)、isEmpty()
  • 空串 "" vs null:str != null && !str.isEmpty()(短路順序固定)
  • 高效構建:StringBuilder(單執行緒)、StringBuffer(多執行緒)

3.7 輸入輸出

  • Scanner 讀取控制台/檔案,System.out/err 輸出
  • printf/format 格式化輸出

3.8 控制流程

  • 塊作用域:{} 內變數不可重名,可巢狀
  • if/else if/else、while/do-while、for(;;)、for-each(for (Type e : arr))
  • switch(支援 int/char/String/enum)
  • break/continue 可帶標籤跳出多層迴圈
  • 保留 goto 但不可用

3.9 大數值

  • BigInteger 任意精度整數,BigDecimal 任意精度浮點
  • 不可用運算元,需呼叫方法:add/subtract/multiply/divide

3.10 陣列

  • 宣告:int[] a = new int[100]; 或 int[] a = {1,2,3};
  • 長度:a.length(不可變),Arrays.toString(a) 列印
  • 預設值:數值 0、boolean false、引用 null
  • 拷貝:Arrays.copyOf/copyOfRange、System.arraycopy
  • 多維/不規則陣列:new int[3][] 每行長度可不同
  • 匿名陣列:new int[]{1,2,3}

第 3 章是 Java 語法核心,建議配合官方 API 文檔與編譯器警告深入理解每個細節。

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