Java程序設計基礎教程 (AI助學)(慕課版)

方柯 翟慧 李紫蔓

  • 出版商: 人民郵電
  • 出版日期: 2026-08-01
  • 定價: $419
  • 售價: $418
  • 語言: 簡體中文
  • ISBN: 7115689296
  • ISBN-13: 9787115689290
  • 相關分類: Java 程式語言
  • 下單後立即進貨 (約4週~6週)

  • Java程序設計基礎教程 (AI助學)(慕課版)-preview-1
Java程序設計基礎教程 (AI助學)(慕課版)-preview-1

商品描述

本書作為Java課程的教材,系統全面地介紹了有關Java開發所涉及的各類知識。全書共分12單元,內容包括程序設計語言入門、Java編程基礎、面向對象基礎、面向對象高級特征、面向對象常用類、集合框架、GUI圖形界面、JDBC數據庫管理、Java反射機制、I/O流、網絡編程、多線程。

本書可以作為高校相關專業Java程序設計課程的教材,也可以作為計算機培訓機構的參考資料及Java程序設計愛好者的自學參考書。

作者簡介

劉剛,一線項目研發、設計、管理工程師,高級項目管理師,項目監理師,技術經理,曾負責政務辦公平臺、政務大數據、OTO 到家項目等多個大型項目的設計與開發。暢銷書《微信小程序開發圖解案例教程(附精講視頻)》《小程序實戰視頻課:微信小程序開發全案精講》《Axure RP8 原型設計圖解微課視頻教程(Web+App)》作者。

目錄大綱

目  錄

單元1

程序設計語言入門 1

【學習導讀】 1

【學習目標】 1

【相關知識】 1

1.1 Java概述 1

1.1.1 Java的起源 2

1.1.2 Java的發展 2

1.1.3 Java的特性 2

1.2 搭建開發環境 3

1.2.1 認識JDK與JRE 3

1.2.2 JDK安裝和環境變量配置 4

1.2.3 JDK的安裝目錄文件分析 6

1.3 Java應用程序開發工具 7

1.3.1 使用記事本編寫代碼 7

1.3.2 Eclipse的安裝與使用 8

1.3.3 IntelliJ IDEA的安裝與使用 8

【商業實例】“銀行提款機”項目——

開發環境準備 9

【綜合實訓】使用記事本及PowerShell

窗口輸出“Hello

world” 11

【單元小結】 11

【課後練習】 11

【實戰演練】使用IntelliJ IDEA輸出

指定圖形 12

單元2

Java編程基礎 13

【學習導讀】 13

【學習目標】 13

【相關知識】 13

2.1 基礎語法 13

2.1.1 註釋 14

2.1.2 標識符 14

2.1.3 關鍵字 14

2.1.4 常量 15

2.2 變量 15

2.2.1 變量的聲明與初始化 15

2.2.2 變量的數據類型 16

2.2.3 數據類型轉換 17

2.2.4 變量的作用域 19

2.3 函數 20

2.3.1 函數語法 20

2.3.2 函數調用 21

2.3.3 函數分類 21

2.4 運算符 22

2.4.1 算術運算符 22

2.4.2 賦值運算符 23

2.4.3 關系運算符 23

2.4.4 邏輯運算符 24

2.4.5 位運算符 25

2.4.6 其他運算符 25

2.4.7 運算符的優先級 26

2.5 流程控制 26

2.5.1 順序結構 27

2.5.2 選擇結構 27

2.5.3 循環結構 30

2.5.4 跳轉結構 32

2.6 數組 33

2.6.1 數組的定義 33

2.6.2 一維數組 34

2.6.3 二維數組 34

2.6.4 數組的引用 35

【商業實例】“銀行提款機”項目——

余額操作 36

【綜合實訓】計算指定日期是當年的

第幾天 37

【單元小結】 37

【課後練習】 38

【實戰演練】計算學生的平均成績 38

單元3

面向對象基礎 39

【學習導讀】 39

【學習目標】 39

【相關知識】 39

3.1 面向對象的概念 39

3.2 類與對象 40

3.2.1 類的定義 40

3.2.2 對象的創建與使用 40

3.2.3 包的使用 41

3.2.4 類的訪問權限 42

3.3 類的構造方法 43

3.4 方法重載 44

3.5 this關鍵字 44

3.6 static關鍵字 47

3.7 import關鍵字 50

【商業實例】“銀行提款機”項目——使用

面向對象的思想改造 51

【綜合實訓】定義一個汽車類 52

【單元小結】 52

【課後練習】 52

【實戰演練】創建一個學生(Student)

對象 53

單元4

面向對象高級特征 54

【學習導讀】 54

【學習目標】 54

【相關知識】 54

4.1 類的封裝 54

4.1.1 封裝的定義 55

4.1.2 封裝的步驟 55

4.2 類的繼承 57

4.2.1 繼承的概念 57

4.2.2 方法重寫 58

4.2.3 super關鍵字 60

4.3 final關鍵字 61

4.3.1 final修飾類 61

4.3.2 final修飾變量 61

4.3.3 final修飾方法 62

4.4 多態 62

4.4.1 多態的概念 62

4.4.2 對象類型的轉換 63

4.4.3 instanceof關鍵字 64

4.5 抽象類 66

4.6 接口 67

4.6.1 接口的定義與作用 67

4.6.2 接口的實現 69

4.6.3 抽象類與接口的區別 70

4.7 單例 71

4.7.1 單例模式的應用場景及特點 71

4.7.2 懶漢式單例模式 71

4.7.3 餓漢式單例模式 72

4.8 Object類 72

4.9 內部類 74

4.9.1 成員內部類 74

4.9.2 靜態內部類 75

4.9.3 匿名內部類 75

4.9.4 局部內部類 76

4.10 異常處理 77

4.10.1 異常的概念及分類 77

4.10.2 異常的處理 78

4.10.3 自定義異常 79

【商業實例】“銀行提款機”項目——

轉賬功能 79

【綜合實訓】車類定義及接口使用 82

【單元小結】 82

【課後練習】 82

【實戰演練】動物的聯系 83

單元5

面向對象常用類 84

【學習導讀】 84

【學習目標】 84

【相關知識】 85

5.1 字符串類 85

5.1.1 String類 85

5.1.2 StringBuilder類 88

5.1.3 StringBuffer類 89

5.2 包裝類 90

5.2.1 基本數據類型與包裝類的轉換 91

5.2.2 基本數據類型、字符串、包裝類

之間的轉換 92

5.3 Random類 93

5.4 Math類 94

5.4.1 基本運算方法 94

5.4.2 冪運算和對數運算 94

5.4.3 三角函數和反三角函數的運算 94

5.5 日期和時間類 95

5.5.1 Date類 95

5.5.2 Instant類 96

5.5.3 Calendar類 96

5.5.4 LocalDate與LocalTime類 97

【商業實例】“銀行提款機”項目——

轉賬手續費計算 98

【綜合實訓】計算給定日期前/後指定

天數的日期 100

【單元小結】 100

【課後練習】 100

【實戰演練】日期和時間類時區的

轉換 101

單元6

集合框架 102

【學習導讀】 102

【學習目標】 102

【相關知識】 103

6.1 集合概述 103

6.2 Collection接口 103

6.3 List接口 104

6.3.1 ArrayList類 104

6.3.2 LinkedList類 105

6.4 Set接口 107

6.4.1 HashSet類 108

6.4.2 TreeSet類 110

6.5 Map接口 113

6.5.1 HashMap類 113

6.5.2 TreeMap類 115

6.6 泛型 116

6.6.1 泛型的概念 116

6.6.2 泛型的方法和接口 117

6.6.3 泛型通配符的使用 118

6.7 Lambda表達式 118

6.7.1 Lambda表達式語法 119

6.7.2 函數式接口 119

6.7.3 構造方法與方法的引用 120

【商業實例】“銀行提款機”項目——

歷史轉賬記錄 121

【單元小結】 123

【綜合實訓】使用TreeSet類自定義

排序 123

【課後練習】 124

【實戰演練】List數據類型轉換 124

單元7

圖形用戶界面 125

【學習導讀】 125

【學習目標】 125

【相關知識】 125

7.1 Swing簡介 125

7.2 Swing頂級容器 126

7.2.1 JFrame 126

7.2.2 JWindow 128

7.2.3 JDialog 129

7.3 Swing布局 130

7.3.1 BorderLayout 131

7.3.2 GridLayout 132

7.3.3 GridBagLayout 132

7.3.4 BoxLayout 134

7.3.5 FlowLayout 134

7.3.6 CardLayout 135

7.4 Swing常用組件 137

7.4.1 文本類組件 137

7.4.2 選擇類組件 141

7.4.3 表格組件和樹形組件 144

7.4.4 按鈕組件和菜單組件 146

7.4.5 其他組件 148

7.5 事件處理機制 152

7.5.1 常見的事件類 152

7.5.2 事件處理機制 154

【商業實例】“銀行提款機”項目——

實現操作界面 155

【單元小結】 158

【綜合實訓】使用GUI實現一個

計算器 158

【課後練習】 158

【實戰演練】使用Swing實現記事本

工具 159

單元8

JDBC數據庫管理 160

【學習導讀】 160

【學習目標】 160

【相關知識】 160

8.1 數據庫 160

8.1.1 數據庫的種類 161

8.1.2 數據庫的安裝 162

8.1.3 數據庫的簡單操作 164

8.2 JDBC 165

8.2.1 JDBC的概念 165

8.2.2 JDBC的原理 165

8.2.3 JDBC核心類 166

8.2.4 JDBC驅動連接數據庫 167

8.3 事務管理 167

8.3.1 事務的概念 167

8.3.2 事務的特性 168

8.3.3 事務的隔離級別 169

【商業實例】“銀行提款機”項目——

將賬戶數據存儲到

數據庫中 170

【單元小結】 174

【綜合實訓】使用JDBC實現對

學生表的增刪改查 175

【課後練習】 175

【實戰演練】獲取數據庫信息 175

單元9

Java反射機制 176

【學習導讀】 176

【學習目標】 176

【相關知識】 177

9.1 反射概述 177

9.2 Class類概述 177

9.3 Class類的使用 178

9.3.1 使用無參構造器實例化對象 178

9.3.2 使用有參構造器實例化對象 179

9.4 反射的應用 180

9.4.1 獲取類實現的所有接口 180

9.4.2 獲取類的所有方法 180

9.4.3 獲取類的所有屬性 181

【商業實例】“銀行提款機”項目——

反射寫入操作時間 182

【單元小結】 185

【綜合實訓】對象的復制 185

【課後練習】 185

【實戰演練】JSON與對象的轉換 186

單元10

I/O流 187

【學習導讀】 187

【學習目標】 187

【相關知識】 187

10.1 I/O流的概念 187

10.2 File類 188

10.2.1 File對象的創建 188

10.2.2 File類的常用方法 189

10.3 字節流 191

10.3.1 InputStream類和

OutputStream類 191

10.3.2 FileInputStream類和

FileOutputStream類 191

10.3.3 DataInputStream類和

DataOutputStream類 194

10.3.4 字節流BufferedInputStream類和

BufferedOutputStream類 197

10.4 字符流 199

10.4.1 Reader類與Writer類 199

10.4.2 InputStreamReader類與

OutputStreamWriter類 200

10.4.3 FileReader類與

FileWriter類 202

10.4.4 字符流BufferedInputStream類與

BufferedOutputStream類 203

10.4.5 PrintStream類與

PrintWriter類 205

【商業實例】“銀行提款機”項目——

將操作輸出到日誌

文件中 206

【單元小結】 207

【綜合實訓】改寫文件中的指定

字符 208

【課後練習】 208

【實戰演練】復制文件夾及文件 209

單元11

網絡編程 210

【學習導讀】 210

【學習目標】 210

【相關知識】 210

11.1 網絡通信協議 210

11.1.1 網絡通信協議基本概念 211

11.1.2 IP地址和端口 212

11.1.3 InetAddress類 213

11.1.4 UDP與TCP 213

11.2 UDP 214

11.2.1 DatagramPacket類 214

11.2.2 DatagramSocket類 215

11.2.3 UDP網絡程序 215

11.2.4 多線程的UDP網絡程序 216

11.3 TCP 217

11.3.1 TCP傳輸過程 217

11.3.2 SeverSocket類 218

11.3.3 Socket類 219

11.3.4 簡單的TCP網絡程序 219

11.3.5 多線程的TCP網絡程序 220

【商業實例】“銀行提款機”項目——

客戶端與服務器端

分離 222

【單元小結】 226

【綜合實訓】實現一個多人聊天室 226

【課後練習】 227

【實戰演練】服務存活檢測 227

單元12

多線程 228

【學習導讀】 228

【學習目標】 228

【相關知識】 228

12.1 多線程概念 228

12.1.1 進程 229

12.1.2 線程 229

12.2 多線程的創建方式 229

12.2.1 通過繼承Thread類創建

多線程 229

12.2.2 通過實現Runnable接口創建

多線程 231

12.3 線程的狀態及其轉換 232

12.4 線程的常用方法 233

12.5 線程的同步 234

12.6 線程的死鎖 238

【商業實例】“銀行提款機”項目——

多賬戶同時轉賬給同一

賬戶 239

【單元小結】 242

【綜合實訓】使用多線程計算商品

總價 242

【課後練習】 242

【實戰演練】工人搬磚 243

單元13

AI輔助編程 244

【學習導讀】 244

【學習目標】 244

【相關知識】 244

13.1 AI輔助編程工具介紹 244

13.1.1 工具介紹 245

13.1.2 工具選擇指南 246

13.2 AI輔助編程的使用場景 247

13.2.1 AI輔助閱讀代碼 247

13.2.2 AI輔助添加代碼註釋 247

13.2.3 AI輔助代碼片段補齊 248

13.2.4 AI生成優化建議 248

13.2.5 AI生成單元測試 249

13.2.6 AI輔助代碼翻譯 249

13.3 AI輔助編程工具的安裝與

使用 250

13.3.1 下載安裝通義靈碼 250

13.3.2 工具使用 251

13.4 AI代碼智能分析與排錯 255

13.4.1 AI代碼智能分析 256

13.4.2 AI智能排錯修復 260

【單元小結】 262