Java 從入門到精通, 7/e

明日科技

  • 出版商: 清華大學
  • 出版日期: 2023-06-01
  • 售價: $539
  • 貴賓價: 9.5$512
  • 語言: 簡體中文
  • 頁數: 512
  • 裝訂: 平裝
  • ISBN: 7302632626
  • ISBN-13: 9787302632627
  • 相關分類: Java 程式語言
  • 立即出貨

  • Java 從入門到精通, 7/e-preview-1
  • Java 從入門到精通, 7/e-preview-2
  • Java 從入門到精通, 7/e-preview-3
Java 從入門到精通, 7/e-preview-1

買這商品的人也買了...

商品描述

《Java從入門到精通(第7版)》從初學者角度出發,通過通俗易懂的語言、豐富多彩的實例,詳細講解了使用Java語言進行程序開發需要掌握的知識。全書分為4篇共24章,內容包括初識Java,開發工具(IDEA、Eclipse),Java語言基礎,流程控制,數組,類和對象,繼承、多態、抽象類與接口,包和內部類,異常處理,字符串,常用類庫,集合類,枚舉類型與泛型,lambda表達式與流處理,I/O(輸入/輸出),反射與註解,數據庫操作,Swing程序設計,Java繪圖,多線程,並發,網絡通信,飛機大戰游戲,MR人臉識別打卡系統。書中所有知識都結合具體實例進行講解,涉及的程序代碼都給出了詳細的註釋,這可以幫助讀者輕松領會Java程序開發的精髓,並快速提高開發技能。

目錄大綱

第1篇 基礎知識

第1章 初識Java 2

1.1 Java簡介 2

1.1.1 什麽是Java語言 2

1.1.2 Java的應用領域 3

1.1.3 Java的版本 3

1.1.4 怎樣學好Java 5

1.1.5 Java API文檔 6

1.2 Java語言的特性 6

1.3 搭建Java環境 8

1.3.1 下載JDK 8

1.3.2 在Windows 10系統下搭建JDK環境 9

第2章 開發工具 12

2.1 熟悉IDEA 12

2.1.1 下載IDEA 12

2.1.2 安裝IDEA 14

2.1.3 配置IDEA 16

2.1.4 使用IDEA 17

2.2 熟悉Eclipse 22

2.2.1 下載Eclipse 22

2.2.2 Eclipse的配置與啟動 24

2.2.3 Eclipse工作台 25

2.2.4 透視圖與視圖 26

2.2.5 菜單欄 26

2.2.6 工具欄 26

2.2.7 “包資源管理器”視圖 29

2.2.8 “控制台”視圖 29

2.3 使用Eclipse 29

2.3.1 創建Java項目 29

2.3.2 創建Java類文件 33

2.3.3 編寫Java程序 34

2.3.4 運行Java程序 36

2.4 程序調試 38

第3章 Java語言基礎 42

3.1 Java主類結構 42

3.2 基本數據類型 44

3.2.1 整數類型 44

3.2.2 浮點類型 45

3.2.3 字符類型 46

3.2.4 布爾類型 48

3.3 變量與常量 48

3.3.1 標識符和關鍵字 48

3.3.2 聲明變量 50

3.3.3 聲明常量 51

3.3.4 變量的有效範圍 52

3.4 運算符 53

3.4.1 賦值運算符 53

3.4.2 算術運算符 54

3.4.3 自增和自減運算符 55

3.4.4 比較運算符 55

3.4.5 邏輯運算符 56

3.4.6 位運算符 57

3.4.7 復合賦值運算符 58

3.4.8 三元運算符 59

3.4.9 運算符的優先級 60

3.5 數據類型轉換 61

3.5.1 隱式類型轉換 61

3.5.2 顯式類型轉換 62

3.6 代碼註釋與編碼規範 63

3.6.1 代碼註釋 63

3.6.2 編碼規範 64

3.7 實踐與練習 65

第4章 流程控制 66

4.1 復合語句 67

4.2 if條件語句 67

4.2.1 簡單的if條件語句 68

4.2.2 if…else語句 69

4.2.3 if…else if多分支語句 69

4.2.4 if語句的嵌套 71

4.3 switch多分支語句 72

4.3.1 switch語句通用語法 72

4.3.2 switch表達式 74

4.4 while循環語句 74

4.5 do…while循環語句 75

4.6 for循環語句 76

4.6.1 傳統的for語句 76

4.6.2 foreach語句 77

4.7 循環嵌套 78

4.8 循環控制 79

4.8.1 break語句 79

4.8.2 continue語句 81

4.9 實踐與練習 82

第5章 數組 84

5.1 數組概述 84

5.2 一維數組 84

5.2.1 創建一維數組 84

5.2.2 初始化一維數組 86

5.2.3 使用一維數組 86

5.3 二維數組 87

5.3.1 創建二維數組 87

5.3.2 初始化二維數組 88

5.3.3 使用二維數組 88

5.4 數組的基本操作 89

5.4.1 遍歷數組 89

5.4.2 填充替換數組元素 90

5.4.3 對數組進行排序 91

5.4.4 復制數組 92

5.4.5 查詢數組 93

5.5 數組排序算法 95

5.5.1 冒泡排序 95

5.5.2 直接選擇排序 97

5.5.3 反轉排序 98

5.6 實踐與練習 99

第2篇 面向對象編程

第6章 類和對象 102

6.1 面向對象概述 102

6.1.1 對象 102

6.1.2 類 104

6.1.3 封裝 104

6.1.4 繼承 104

6.1.5 多態 105

6.2 類 106

6.2.1 成員變量 106

6.2.2 成員方法 107

6.2.3 權限修飾符 107

6.2.4 局部變量 108

6.2.5 局部變量的有效範圍 109

6.2.6 this關鍵字 109

6.3 類的構造方法 110

6.4 靜態變量和靜態方法 112

6.5 類的主方法 114

6.6 對象 115

6.6.1 對象的創建 115

6.6.2 訪問對象的屬性和行為 116

6.6.3 對象的引用 117

6.6.4 對象的銷毀 118

6.7 實踐與練習 119

第7章 繼承、多態、抽象類與接口 120

7.1 類的繼承 120

7.2 Object類 122

7.3 對象類型的轉換 125

7.3.1 向上轉型 125

7.3.2 向下轉型 126

7.4 instanceof關鍵字及其新特性 127

7.5 方法的重載 129

7.6 final關鍵字 132

7.6.1 final變量 132

7.6.2 final方法 133

7.6.3 final類 133

7.7 record類 134

7.8 多態 135

7.9 抽象類 136

7.10 接口 137

7.10.1 定義接口 137

7.10.2 實現接口 138

7.10.3 接口繼承接口 140

7.10.4 接口的多重繼承 141

7.10.5 接口的默認方法 142

7.10.6 抽象類與接口的區別 142

7.11 實踐與練習 143

第8章 包和內部類 145

8.1 Java類包 145

8.1.1 類名沖突 145

8.1.2 完整的類路徑 146

8.1.3 創建包 146

8.1.4 導入包 147

8.2 內部類 148

8.2.1 成員內部類 149

8.2.2 匿名內部類 151

8.3 實踐與練習 152

第3篇 核心技術

第9章 異常處理 154

9.1 異常概述 154

9.2 異常的拋出與捕捉 155

9.2.1 拋出異常 155

9.2.2 使用try…catch…finally語句捕捉異常 156

9.3 Java常見的異常類 158

9.4 自定義異常 158

9.5 在方法中拋出異常 159

9.5.1 使用throws關鍵字拋出異常 160

9.5.2 使用throw關鍵字拋出異常 160

9.6 運行時異常 162

9.7 try…with…resources語句 162

9.8 異常的使用原則 164

9.9 實踐與練習 164

第10章 字符串 166

10.1 String類 166

10.1.1 聲明字符串 166

10.1.2 創建字符串 167

10.2 連接字符串 168

10.2.1 連接多個字符串 168

10.2.2 連接其他數據類型 168

10.3 獲取字符串信息 170

10.3.1 獲取字符串長度 170

10.3.2 查找字符串 170

10.3.3 獲取指定索引位置的字符 171

10.4 字符串操作 172

10.4.1 獲取子字符串 172

10.4.2 去除空格 173

10.4.3 替換字符串 173

10.4.4 判斷字符串的開始與結尾 174

10.4.5 判斷字符串是否相等 175

10.4.6 按字典順序比較兩個字符串 176

10.4.7 字母大小寫的轉換 177

10.4.8 分割字符串 178

10.5 格式化字符串 179

10.5.1 日期和時間字符串格式化 179

10.5.2 常規類型格式化 182

10.6 使用正則表達式 183

10.7 字符串生成器 185

10.8 實踐與練習 187

第11章 常用類庫 188

11.1 包裝類 188

11.1.1 Integer類 189

11.1.2 Double類 190

11.1.3 Boolean類 191

11.1.4 Character類 192

11.1.5 Number類 194

11.2 數字處理 194

11.2.1 數字格式化 194

11.2.2 Math類 197

11.2.3 Random類 200

11.2.4 BigInteger類 202

11.2.5 BigDecimal類 203

11.3 System類 205

11.3.1 在控制臺中輸出字符 205

11.3.2 計時 206

11.4 Scanner類 207

11.5 日期時間類 208

11.5.1 Date類 209

11.5.2 日期時間格式化類 210

11.5.3 Calendar類 213

11.6 實踐與練習 215

第12章 集合類 216

12.1 集合類概述 216

12.2 Collection接口 217

12.3 List接口 218

12.3.1 List接口概述 218

12.3.2 ArrayList類 218

12.3.3 LinkedList類 219

12.4 遍歷集合中的元素 220

12.4.1 Iterator遍歷集合中的元素 220

12.4.2 使用foreach循環遍歷集合中的元素 221

12.4.3 使用forEach()方法遍歷集合中的元素 222

12.5 使用Predicate操作集合 222

12.6 Set接口 224

12.6.1 Set接口概述 224

12.6.2 HashSet類 224

12.6.3 TreeSet類 225

12.7 Map接口 226

12.7.1 Map接口概述 227

12.7.2 HashMap類 227

12.7.3 遍歷Map集合 228

12.7.4 TreeMap類 229

12.7.5 Properties類 230

12.8 Collections類 232

12.9 實踐與練習 233

第13章 枚舉類型與泛型 234

13.1 枚舉類型 234

13.1.1 使用枚舉類型設置常量 234

13.1.2 深入瞭解枚舉類型 236

13.1.3 使用枚舉類型的優勢 239

13.2 泛型 239

13.2.1 回顧向上轉型與向下轉型 239

13.2.2 定義泛型類 240

13.2.3 泛型的常規用法 241

13.2.4 泛型的高級用法 243

13.2.5 泛型總結 245

13.3 實踐與練習 246

第14章 lambda表達式與流處理 247

14.1 lambda表達式 247

14.1.1 lambda表達式簡介 247

14.1.2 lambda表達式實現函數式接口 248

14.1.3 lambda表達式調用外部變量 250

14.1.4 lambda表達式與異常處理 252

14.2 方法的引用 253

14.2.1 引用靜態方法 253

14.2.2 引用成員方法 254

14.2.3 引用帶泛型的方法 255

14.2.4 引用構造方法 256

14.2.5 Function接口 258

14.3 流處理 259

14.3.1 Stream接口 260

14.3.2 Optional類 262

14.3.3 Collectors類 263

14.3.4 數據過濾 264

14.3.5 數據映射 267

14.3.6 數據查找 268

14.3.7 數據收集 271

14.4 實踐與練習 275

第15章 I/O(輸入/輸出) 276

15.1 輸入/輸出流 276

15.1.1 InputStream字節/Reader字符輸入流 277

15.1.2 OutputStream字節/Writer字符輸出流 278

15.2 File類 279

15.2.1 文件的創建與刪除 279

15.2.2 獲取文件信息 280

15.3 文件輸入/輸出流 281

15.3.1 FileInputStream類和FileOutputStream類 281

15.3.2 FileReader類和FileWriter類 282

15.4 帶緩存的輸入/輸出流 283

15.4.1 BufferedInputStream類和BufferedOutputStream類 283

15.4.2 BufferedReader類和BufferedWriter類 284

15.5 數據輸入/輸出流 285

15.6 對象序列化輸入/輸出流 287

15.6.1 序列化對象 288

15.6.2 反序列化對象 289

15.7 實踐與練習 289

第16章 反射與註解 290

16.1 反射 290

16.1.1 訪問構造方法 291

16.1.2 訪問成員變量 294

16.1.3 訪問成員方法 297

16.2 Annotation註解功能 300

16.2.1 定義Annotation類型 300

16.2.2 訪問Annotation信息 302

16.3 實踐與練習 305

第17章 數據庫操作 306

17.1 數據庫基礎 306

17.1.1 什麽是數據庫 307

17.1.2 數據庫的種類和功能 307

17.1.3 SQL語言 308

17.2 JDBC概述 309

17.2.1 JDBC技術 309

17.2.2 JDBC驅動程序的類型 310

17.3 JDBC中常用的類和接口 310

17.3.1 DriverManager類 310

17.3.2 Connection接口 311

17.3.3 Statement接口 312

17.3.4 PreparedStatement接口 312

17.3.5 ResultSet接口 313

17.4 數據庫操作 314

17.4.1 連接數據庫 314

17.4.2 向數據庫中發送SQL語句 315

17.4.3 處理查詢結果集 315

17.4.4 順序查詢 315

17.4.5 模糊查詢 316

17.4.6 預處理語句 317

17.4.7 添加、修改、刪除記錄 318

17.5 實踐與練習 321

第18章 Swing程序設計 322

18.1 Swing概述 323

18.2 常用窗體 324

18.2.1 JFrame窗體 324

18.2.2 JDialog對話框 326

18.2.3 JOptionPane小型對話框 327

18.3 常用佈局管理器 331

18.3.1 null絕對佈局管理器 331

18.3.2 FlowLayout流佈局管理器 332

18.3.3 BorderLayout邊界佈局管理器 333

18.3.4 GridLayout網格佈局管理器 334

18.4 常用面板 335

18.4.1 JPanel面板 335

18.4.2 JScrollPane滾動面板 337

18.5 文字標簽組件與圖標 338

18.5.1 JLabel標簽 338

18.5.2 圖標的使用 339

18.6 按鈕組件 340

18.6.1 JButton按鈕 340

18.6.2 JRadioButton單選按鈕 341

18.6.3 JCheckBox復選框 343

18.7 列表組件 344

18.7.1 JComboBox下拉列表框 344

18.7.2 JList列表框 346

18.8 文本組件 347

18.8.1 JTextField文本框 347

18.8.2 JPasswordField密碼框 348

18.8.3 JTextArea文本域 349

18.9 表格組件 350

18.9.1 創建表格 350

18.9.2 DefaultTableModel表格數據模型 351

18.9.3 維護表格模型 352

18.10 事件監聽器 354

18.10.1 ActionEvent動作事件 354

18.10.2 KeyEvent鍵盤事件 356

18.10.3 MouseEvent鼠標事件 357

18.11 實踐與練習 359

第19章 Java繪圖 360

19.1 Java繪圖類 360

19.1.1 Graphics類 360

19.1.2 Graphics2D類 361

19.2 繪制圖形 361

19.3 繪圖顏色與畫筆屬性 365

19.3.1 設置顏色 365

19.3.2 設置畫筆 366

19.4 繪制文本 367

19.4.1 設置字體 367

19.4.2 顯示文字 367

19.5 顯示圖片 369

19.6 圖像處理 370

19.6.1 放大與縮小 370

19.6.2 圖像翻轉 372

19.6.3 圖像旋轉 374

19.6.4 圖像傾斜 375

19.7 實踐與練習 376

第20章 多線程 377

20.1 線程簡介 377

20.2 創建線程 378

20.2.1 繼承Thread類 378

20.2.2 實現Runnable接口 379

20.2.3 實現Callable接口 381

20.3 線程的生命周期 382

20.4 操作線程的方法 383

20.4.1 線程的休眠 383

20.4.2 線程的加入 384

20.4.3 線程的中斷 386

20.4.4 線程的禮讓 387

20.5 線程的優先級 387

20.6 線程同步 389

20.6.1 線程安全 389

20.6.2 線程同步機制 390

20.7 實踐與練習 392

第21章 並發 393

21.1 並發編程 393

21.2 yield()方法 394

21.3 線程上下文切換與死鎖 395

21.3.1 線程的上下文切換 396

21.3.2 線程死鎖 396

21.3.3 避免死鎖 398

21.4 守護線程與用戶線程 399

21.4.1 守護線程與用戶線程的區別 399

21.4.2 守護線程 399

21.5 ThreadLocal 401

21.6 生產者與消費者模式 402

21.6.1 wait()方法和notify()方法 403

21.6.2 await()方法和signal()方法 405

21.7 線程池 408

21.8 實踐與練習 412

第22章 網絡通信 413

22.1 網絡程序設計基礎 413

22.1.1 局域網與互聯網 413

22.1.2 網絡協議 414

22.1.3 埠與套接字 415

22.2 TCP程序 415

22.2.1 InetAddress類 416

22.2.2 ServerSocket類 417

22.2.3 TCP網絡程序設計 418

22.3 UDP程序 421

22.3.1 DatagramPacket類 421

22.3.2 DatagramSocket類 421

22.3.3 UDP網絡程序設計 422

22.4 NIO同步非阻塞網絡編程 425

22.5 AIO異步非阻塞網絡編程 428

22.6 實踐與練習 429

第4篇 項目實戰

第23章 飛機大戰游戲 432

23.1 需求分析 432

23.2 系統設計 433

23.2.1 系統目標 433

23.2.2 系統功能結構 433

23.2.3 業務流程圖 433

23.2.4 系統預覽 433

23.3 技術準備 434

23.3.1 Timer類的概念 434

23.3.2 Timer類註意事項 435

23.4 公共模塊設計 435

23.5 玩家飛機模型設計 437

23.6 敵機模型設計 439

23.7 導彈模型設計 440

23.8 空投物資模型設計 441

23.9 游戲面板模型設計 442

第24章 MR人臉識別打卡系統 449

24.1 需求分析 449

24.2 系統設計 450

24.2.1 開發環境 450

24.2.2 系統功能結構 450

24.2.3 系統業務流程 450

24.3 數據庫與數據表設計 451

24.3.1 數據庫分析 451

24.3.2 數據表設計 452

24.4 系統文件夾組織結構 453

24.5 工具類的設計 454

24.5.1 日期時間工具類 455

24.5.2 數據庫連接工具類 457

24.6 實體類的設計 458

24.7 數據庫接口及實現類設計 459

24.7.1 數據庫接口 460

24.7.2 基於MySQL數據庫的接口實現類 461

24.7.3 數據庫接口工廠類 464

24.8 全局會話類的設計 464

24.9 服務類的設計 466

24.9.1 攝像頭服務 466

24.9.2 人臉識別服務 467

24.9.3 人事服務 470

24.9.4 圖像文件服務 476

24.10 窗體類的設計 478

24.10.1 主窗體 478

24.10.2 主面板 479

24.10.3 登錄對話框 483

24.10.4 考勤報錶面板 484

24.10.5 員工管理面板 488

24.10.6 錄入新員工面板 490

24.11 常見問題與解決 492

24.11.1 如何運行項目 492

24.11.2 無法激活人臉識別引擎 492

24.11.3 無法連接MySQL數據庫 493

24.11.4 如何切換成SQLite數據庫 493