Java面向對象程序設計(微課視頻版)

吳紹根、吳邊

  • 出版商: 清華大學
  • 出版日期: 2024-09-01
  • 定價: $359
  • 售價: 8.5$305
  • 語言: 簡體中文
  • ISBN: 7302671788
  • ISBN-13: 9787302671787
  • 下單後立即進貨 (約4週~6週)

  • Java面向對象程序設計(微課視頻版)-preview-1
  • Java面向對象程序設計(微課視頻版)-preview-2
  • Java面向對象程序設計(微課視頻版)-preview-3
Java面向對象程序設計(微課視頻版)-preview-1

相關主題

商品描述

本書是一本介紹Java 面向對象程序設計的基礎書籍,知識同步到Java **長期支持版LTS 17 版,適合Java 初學者使用。本書共16 章,全面介紹了Java 面向對象程序設計的基本概念、基本方法、基本技術和應用實踐。第1 章介紹了Java 的特點和建立Java 開發環境;第2 章和第3 章介紹了Java 的基本運算、基本輸入/ 輸出和程序流程控制;第4~7 章介紹了Java 面向對象程序設計的核心知識,包括類、對象、繼承、多態、接口及枚舉;第8~11 章介紹了JDK 基本類的使用,包括Java 基礎類、異常類、集合類、流式編程、I/O 流,同時,還介紹了Java 程序的跟蹤調試技術;第12 章介紹了Java 的反射技術和註解編程;第13~15 章介紹了Java 多線程編程、網絡編程和數據庫編程;第16 章介紹了Java 圖形界面編程。 本書既可作為高等院校電腦相關專業的教材,也可作為Java 編程愛好者的自學書籍。

目錄大綱

目 錄

第1 章建立Java 程序開發環境

1

1.1 Java 語言概述

1

1.1.1 程序設計語言 

1

1.1.2 Java 語言的特點 

1

1.2 建立Java 開發環境

2

1.3 第一個“Hello world!”程序 

2

1.3.1 創建Java 程序工程 

2

1.3.2 運行Java 程序 

5

1.4 Java 程序的運行過程

6

1.4.1 編譯代碼 

7

1.4.2 Java 程序的運行機理 

8

1.5 練習:安裝Java 開發環境.

9

第2 章 Java 基本運算和輸入/ 輸出 10

2.1 Java 程序的組成10

2.2 Java 基本數據類型和字面常量11

2.3 變量11

2.3.1 定義變量和訪問變量 .12

2.3.2 顯示變量的值 .12

2.4 數據運算13

2.5 Java 基本輸入/ 輸出和String 類的使用13

2.5.1 基本輸出語句 .14

2.5.2 基本輸入語句 .16

2.5.3 String 類的使用 .17

2.6 練習:計算工資.18

第3 章 Java 程序流程控制19

3.1 順序語句和if 分支語句19

3.2 switchcase default 分支語句及其應用實踐19

3.3 循環語句21

3.4 數組21

3.4.1 定義數組 22

Jsczw.indd 3 

2024/9/13 14:29:26 

3.4.2 訪問數組元素 .22

3.4.3 使用for each 遍歷數組元素 23

3.4.4 二維數組 24

3.5 switch 表達式和yield 關鍵字的使用26

3.6 函數及其調用.27

3.7 案例:學生成績計算系統29

3.7.1 案例任務 29

3.7.2 任務分析 29

3.7.3 任務實施 30

3.8 練習:計算質數及其和.30

第4 章類和對象31

4.1 定義類和創建對象31

4.1.1 類的含義 31

4.1.2 定義類 .32

4.1.3 在IDEA 中創建Java 類34

4.1.4 創建及使用對象 37

4.2 構造函數41

4.2.1 類的構造函數 .41

4.2.2 構造函數重載 .43

4.3 類的靜態屬性、靜態方法和靜態代碼塊 45

4.3.1 靜態屬性 46

4.3.2 靜態方法 48

4.3.3 靜態代碼塊 49

4.3.4 靜態屬性、靜態方法和靜態代碼塊應用實踐 51

4.4 內部類 .51

4.4.1 成員內部類 51

4.4.2 靜態內部類 54

4.4.3 使用內部類應用實踐 .56

4.5 案例:使用Java 類描述一元二次方程56

4.5.1 案例任務 56

4.5.2 任務分析 56

4.5.3 任務實施 56

4.6 練習:計算三角形的面積和周長58

第5 章繼承和多態.59

5.1 類的繼承59

5.1.1 繼承的概念 59

5.1.2 定義類的繼承關系 60

IV 

Jsczw.indd 4 

2024/9/13 14:29:26 

5.1.3 super 關鍵字及方法重寫64

5.1.4 練習:完成Teacher 子類和Worker 子類的代碼編寫 66

5.2 訪問限定符 66

5.2.1 訪問限定符及其可訪問性 66

5.2.2 訪問限定符使用舉例 .67

5.3 抽象類和多態.67

5.3.1 抽象類和使用final 

關鍵字修飾屬性 67

5.3.2 多態 71

5.3.3 使用instanceof 關鍵字檢查對象類型72

5.3.4 對象數組 73

5.4 使用final、record 和sealed 關鍵字修飾類76

5.4.1 使用final 

關鍵字修飾類 76

5.4.2 使用record 關鍵字定義Java 類76

5.4.3 使用sealed 關鍵字修飾類 78

5.5 案例:定義Java 程序類應用實踐78

5.5.1 案例任務 78

5.5.2 任務分析 78

5.5.3 任務實施 79

5.6 練習:打印自定義圖形形狀82

第6 章接口.83

6.1 接口及其應用.83

6.1.1 定義接口 84

6.1.2 實現接口 85

6.1.3 使用接口及instanceof 關鍵字在接口中的應用.87

6.1.4 接口的繼承 89

6.2 接口的默認方法、靜態方法和私有方法 90

6.3 函數式接口和lambda 表達式 93

6.3.1 函數式接口 93

6.3.2 使用匿名內部類實現接口 94

6.3.3 lambda 入門:使用lambda 表達式實現函數式接口95

6.3.4 lambda 表達式基本語法 96

6.3.5 接口方法引用 .97

6.4 接口、匿名內部類和lambda 表達式應用實踐 .97

6.5 案例:按價格排序不同產品97

6.5.1 案例任務 98

6.5.2 任務分析 98

6.5.3 任務實施 98

6.6 練習:計算空間中兩點的距離103

Jsczw.indd 5 

2024/9/13 14:29:26 

第7 章枚舉類型104

7.1 枚舉類型入門:一個表示四季的枚舉類型104

7.2 枚舉類型進階106

7.3 枚舉類型應用實踐108

7.4 案例:員工Staff 類 109

7.4.1 案例任務 .110

7.4.2 任務分析 .110

7.4.3 任務實施 .110

7.5 練習:水果的成熟季節 111

第8 章 Java 基礎類的使用.112

8.1 Java 基本類112

8.1.1 Object 類112

8.1.2 基本數據類型的包裝類 .113

8.1.3 大數據類 .114

8.1.4 System 類 115

8.1.5 Math 類.116

8.2 字符串類.116

8.2.1 String 類 117

8.2.2 StringBuffer 類 .117

8.3 隨機數生成器類 .119

8.3.1 Random 類119

8.3.2 使用RandomGenerator 接口生成隨機數.120

8.4 日期時間類 121

8.4.1 Date 類121

8.4.2 Calendar 類.121

8.4.3 SimpleDateFormat 類122

8.5 使用Java 基礎類應用實踐124

8.6 案例:猜數游戲124

8.6.1 案例任務 .124

8.6.2 任務分析 .124

8.6.3 任務實施 .124

8.7 練習:計算閏年126

第9 章 Java 程序異常及程序調試技術127

9.1 程序錯誤分類127

9.2 Java 程序異常及其處理入門127

9.2.1 Java 程序異常現象舉例 .127

9.2.2 Java 異常處理入門 129

VI 

Jsczw.indd 6 

2024/9/13 14:29:27 

9.3 Java 程序異常及其處理進階131

9.3.1 Error 類.132

9.3.2 Exception 類 133

9.3.3 非檢查性異常 133

9.3.4 檢查性異常 133

9.3.5 Java 異常處理 135

9.3.6 自定義異常 135

9.4 案例:處理程序異常136

9.4.1 案例任務 .136

9.4.2 任務分析 .136

9.4.3 任務實施 .137

9.5 在IDEA 中調試Java 程序 140

9.6 Java 異常及程序調試應用實踐.142

9.7 練習:將從鍵盤輸入的字符串轉換為浮點數142

第10 章集合類及流式編程143

10.1 泛型 .143

10.1.1 泛型入門 143

10.1.2 泛型類 .145

10.1.3 泛型方法 146

10.1.4 泛型接口 147

10.1.5 泛型類型限制和泛型通配符“?”150

10.2 集合類150

10.2.1 集合類主要接口和類之間的關系 150

10.2.2 List 接口及其實現類的使用 151

10.2.3 Set 接口及其實現類的使用 154

10.2.4 Map 接口及其實現類的使用.158

10.2.5 數組工具類Arrays 的使用 .160

10.3 Java 流式編程161

10.3.1 Java 常用函數式接口及其使用 161

10.3.2 Optional 類及泛型通配符“?”使用舉例164

10.3.3 流式編程入門 .168

10.3.4 創建Stream 和操作Stream.170

10.4 Java 數組、集合類及流式編程應用實踐.170

10.5 案例:自製詞典171

10.5.1 案例任務 171

10.5.2 任務分析 171

10.5.3 任務實施 171

10.6 練習:使用流式編程查詢學生信息.172

VII 

Jsczw.indd 7 

2024/9/13 14:29:27 

第11 章文件輸入/ 輸出操作173

11.1 文件基本操作 173

11.1.1 使用File 類操作文件屬性 173

11.1.2 使用Files 類操作文件屬性及讀/ 寫文件內容175

11.1.3 使用WatchService 監視目錄和文件變化 175

11.2 字節流讀/ 寫 .175

11.2.1 字節流的含義 .175

11.2.2 讀/ 寫文件字節流 176

11.2.3 使用try-with-resource 處理異常和關閉資源178

11.2.4 讀/ 寫內存字節流 180

11.3 字符流讀/ 寫 .181

11.3.1 字符編碼和字符解碼 .182

11.3.2 無緩沖字符流讀/ 寫 184

11.3.3 帶緩沖字符流讀/ 寫 186

11.4 對象數據讀/ 寫 188

11.5 Java 流操作應用實踐 190

11.6 案例:通訊錄程序190

11.6.1 案例任務 190

11.6.2 任務分析 191

11.6.3 任務實施 191

11.7 練習:自製工資管理程序195

第12 章 Java 反射和註解196

12.1 Java 反射196

12.1.1 反射概念的引入 196

12.1.2 反射的核心——Class 類197

12.1.3 通過反射獲取類的構造方法、屬性和普通方法 199

12.2 Java 註解202

12.2.1 Java 標準註解 .202

12.2.2 自定義註解 202

12.3 Java 反射與註解應用實踐.206

12.4 案例:自動註入對象.207

12.4.1 案例任務 207

12.4.2 任務分析 207

12.4.3 任務實施 207

12.5 練習:自動註入Teacher 對象 .210

第13 章多線程211

13.1 Java 多線程入門211

VIII 

Jsczw.indd 8 

2024/9/13 14:29:27 

13.2 Thread 類及創建子線程214

13.2.1 通過繼承Thread 類創建線程215

13.2.2 通過實現Runnable 接口創建線程.215

13.2.3 使用FutureTask 創建線程 218

13.3 線程狀態、線程調度和線程優先級221

13.4 線程並發控制 222

13.4.1 多線程中數據的不一致性現象舉例 .222

13.4.2 使用synchronized 控制線程並發225

13.4.3 使用原子類型變量控制線程並發 227

13.4.4 使用Lock 接口控制線程並發 229

13.5 線程同步控制及生產者—消費者模型 229

13.6 線程池229

13.6.1 Java 線程池框架 230

13.6.2 線程池使用舉例 231

13.6.3 多例多線程和單例多線程及ThreadLocal 類的使用234

13.7 Java 線程應用實踐.237

13.8 案例:找出小於1000 的所有質數和水仙花數.238

13.8.1 案例任務 238

13.8.2 任務分析 238

13.8.3 任務實施 238

13.9 練習:統計上網人數.241

第14 章網絡編程.242

14.1 網絡通信協議 242

14.1.1 IP 地址InetAddress 類和埠 242

14.1.2 UDP 和TCP .244

14.2 使用UDP 進行通信 244

14.2.1 DatagramSocket 類和DatagramPacket 類 244

14.2.2 UDP 點對點通信程序舉例 .245

14.3 使用TCP 進行通信249

14.3.1 客戶/ 服務器模式 249

14.3.2 ServerSocket 類和Socket 類 249

14.3.3 TCP 通信程序舉例 250

14.4 使用HTTP 訪問網絡頁面.254

14.4.1 Java 對HTTP 的實現概述 254

14.4.2 使用HttpClient 訪問網絡頁面.256

14.5 Java 網絡編程應用實踐257

14.6 案例:聊天程序258

14.6.1 案例任務 258

IX 

Jsczw.indd 9 

2024/9/13 14:29:27 

14.6.2 任務分析 258

14.6.3 任務實施 258

14.7 練習:完善聊天程序Chatter 類的代碼.263

第15 章使用JDBC 訪問數據庫 264

15.1 JDBC 概述 264

15.2 加載數據庫驅動程序265

15.3 JDBC 接口訪問數據庫的核心類和核心接口 266

15.3.1 DriverManager 類註冊數據庫驅動程序266

15.3.2 Connection 接口建立與數據庫的連接.267

15.3.3 Statement 接口執行SQL 語句268

15.3.4 PreparedStatement 接口執行參數化SQL 語句269

15.3.5 ResultSet 接口處理查詢結果.270

15.4 案例:實現對book 表的增刪改查271

15.4.1 案例任務 271

15.4.2 任務分析 271

15.4.3 任務實施 271

15.5 JDBC 應用實踐 278

15.6 練習:完成案例程序的刪改查功能.278

第16 章 Java 圖形用戶界面279

16.1 Swing 概述279

16.2 容器組件 279

16.2.1 JFrame 頂級窗口容器.279

16.2.2 JPanel 面板容器.281

16.3 佈局管理器.283

16.3.1 FlowLayout 佈局283

16.3.2 GridLayout 佈局.285

16.3.3 BorderLayout 佈局286

16.4 Swing 常用組件288

16.5 Swing 事件處理290

16.6 Java 圖形界面應用程序開發實踐.293

16.7 案例:圖像混合器293

16.7.1 案例任務 293

16.7.2 任務分析 293

16.7.3 任務實施 294

16.8 練習:圖形界面聊天程序297

參考文獻.298