Java程序設計實戰教程

李西明 陳立為

  • 出版商: 人民郵電
  • 出版日期: 2021-09-01
  • 定價: $419
  • 售價: 7.5$314
  • 語言: 簡體中文
  • 頁數: 350
  • 裝訂: 平裝
  • ISBN: 7115551820
  • ISBN-13: 9787115551825
  • 相關分類: Java 程式語言程式語言
  • 立即出貨 (庫存 < 3)

  • Java程序設計實戰教程-preview-1
  • Java程序設計實戰教程-preview-2
Java程序設計實戰教程-preview-1

商品描述

本書從Java初學者的角度出發,用通俗易懂的語言、貼近實際生活的實例,詳細地介紹使用Java語言進行程序開發須掌握的知識和技術,幫助讀者快速掌握Java程序開發的技能。全書共14章,分別為Java程序設計入門、Java語言基礎、流程控制、方法與數組、面向對象基礎、深入面向對象、常用類、異常、集合類、File與I/O流、多線程、圖形用戶界面、網絡編程、反射。隨書電子資源中還提供了綜合項目實訓,以鞏固所學知識,培養讀者的項目開發能力。

作者簡介

李西明,教育、研究背景方面: 1992.9-1996.7山東工業大學,自動化系,獲工學學士學位; 2002.9-2005.7暨南大學信息學院,電子系,獲工學碩士學位; 2007.9-2011.6華南農業大學,信息學院,獲工學博士學位; 2012.3-2013.8 以色列國本·古里安大學自然科學學院,獲得以色列政府“傑出博士後研究者項目”資助,博士後研究。
2014.6-2014.7 以色列國本固里安大學,獲得本固里安大學資助,訪問學者。
工作方面: 1996/07 -- 2002/09,聊城師範學院通信工程系,助教。 2005/07 – 2015/06 華南農業大學現代教育技術中心,工程師、高級工程師。主要負責學校數字化校園規劃、建設和維護等工作,歷任信息技術部副部長、部長等職 2015/07 至今 華南農業大學數學與信息學院計算機系計算機網絡教研室高級工程師。
主講《Java程序設計》等本科及研究生課程。
 主持、參與十餘項國家、省部級項目。

目錄大綱

第 1章 Java程序設計入門 1
1.1 Java概述 1
1.1.1 Java語言簡介 1
1.1.2 Java語言的優點 2
1.1.3 Java的版本 2
1.2 搭建Java開發環境 3
1.2.1 JDK與跨平臺 3
1.2.3 JDK14的下載 4
1.3 第 一個Java程序 4
1.3.1 HelloWorld程序的編寫 4
1.3.2 HelloWorld程序的編譯與運行 5
1.3.3 HelloWorld程序的運行機制 7
1.3.4 HelloWorld程序的糾錯 7
1.4 環境變量的配置 9
1.5 集成開發工具Eclipse 12
1.5.1 Eclipse簡介 12
1.5.2 使用Eclipse開發HelloWorld項目 13
1.6 輸出語句 16
1.6.1 輸出換行 16
1.6.2 輸出製表位 16
1.6.3 輸出其他轉義字符 18
1.7 上機實驗 19
任務一:輸出愛心形狀 19
任務二:製作主菜單界面 19

第 2章 Java語言基礎 22
2.1 基本語法 22
2.1.1 編碼格式 22
2.1.2 註釋 23
2.1.3 標識符 25
2.1.4 關鍵字 25
2.2 變量與常量 26
2.2.1 變量簡介 26
2.2.2 變量的聲明 26
2.2.3 數據類型 27
2.2.4 變量的賦值 30
2.2.5 數據類型轉換 31
2.2.6 變量的使用 32
2.2.7 變量的作用域 33
2.2.8 常量 34
2.3 運算符 34
2.3.1 賦值運算符 34
2.3.2 算術運算符 35
2.3.3 比較運算符 39
2.3.4 邏輯運算符 40
2.3.5 位運算符 42
2.3.6 三元運算 46
2.3.7 運算符的優先級 47
2.3.8 接收鍵盤錄入數據 48
2.4 上機實驗 49
任務一:奇偶判斷 49
任務二:變量值交換 50
任務三:判斷閏年 50

第3章 流程控制 52
3.1 流程控制分類 52
3.2 if條件語句 52
3.3 switch條件語句 57
3.4 循環結構語句 62
3.4.1 for循環語句 62
3.4.2 while循環語句 66
3.4.3 do…while循環語句 68
3.4.4 無限循環 70
3.4.5 跳轉語句break與continue 71
3.4.6 二重循環 74
3.5 上機實驗 76
任務一:生肖屬相 76
任務二:班級成績統計 76
任務三:斐波那契數列 76
任務四:烏龜爬坡 77

第4章 方法與數組 80
4.1 方法 80
4.1.1 方法的定義 80
4.1.2 方法的調用 81
4.1.3 方法的重載 84
4.1.4 方法的遞歸 85
4.2 一維數組 86
4.2.1 數組概述 86
4.2.2 數組的聲明 86
4.2.3 數組的初始化 87
4.2.4 數組的異常 92
4.2.5 數組的使用 92
4.2.6 冒泡排序 95
4.2.7 直接選擇排序 96
4.2.8 插入排序 98
4.2.9 數組的逆序 99
4.2.10 Arrays工具類 100
4.3 二維數組 102
4.3.1 二維數組的聲明與初始化 102
4.3.2 二維數組的使用 104
4.4 上機實驗 105
任務一:學生成績統計 105
任務二:子公司銷售額統計 105

第5章 面向對象基礎 108
5.1 面向對象編程簡介 108
5.2 類與對象 108
5.2.1 類的定義 108
5.2.2 成員變量 109
5.2.3 成員方法 109
5.2.4 對象的創建 110
5.2.5 局部變量 112
5.2.6 訪問對象的屬性和方法 113
5.2.7 對象的比較 113
5.3 構造方法 114
5.3.1 構造方法的定義 114
5.3.2 構造方法的重載 116
5.4 封裝 118
5.5 this關鍵字 119
5.6 static關鍵字 121
5.6.1 靜態變量 121
5.6.2 靜態方法 123
5.6.3 靜態代碼塊 124
5.7 值傳遞與引用傳遞 125
5.8 對象數組 126
5.9 垃圾回收機制 127
5.10 上機實驗 128
任務:汽車銷售統計 128

第6章 深入面向對象 131
6.1 繼承 131
6.1.1 繼承的實現 131
6.1.2 方法的重寫 134
6.1.3 super關鍵字 135
6.1.4 final關鍵字 138
6.2 抽象類與接口 139
6.2.1 抽象類 139
6.2.2 接口 141
6.3 多態 143
6.3.1 多態簡介 143
6.3.2 使用繼承實現多態 144
6.3.3 使用接口實現多態 145
6.3.4 向上轉型 146
6.2.5 向下轉型 148
6.3 權限修飾符 150
6.4 上機實驗 152
任務:模擬主人養寵物 152

第7章 常用類 154
7.1 Object類 154
7.1.1 Object類的hashCode()方法 154
7.1.2 Object類的getClass()方法 155
7.1.3 Object類的toString()方法 155
7.1.4 Object類的equals()方法 156
7.1.5 equals與==的區別 157
7.1.6 hashCode()與equals()方法的重寫 158
7.2 String與StringBuffer類 159
7.2.1 String類 159
7.2.2 StringBuffer類 166
7.3 正則表達式 168
7.3.1 正則表達式簡介 168
7.3.2 正則表達式語法 169
7.3.3 正則表達式的驗證功能 170
7.3.4 正則表達式的分割功能 170
7.3.5 正則表達式的替換功能 171
7.3.6 正則表達式的分組功能 171
7.3.7 正則表達式的獲取功能 173
7.4 包裝類 174
7.5 內部類 176
7.6 數學類Math 182
7.7 Random類 182
7.8 日期與時間類 183
7.8.1 Date類 184
7.8.2 DateFormat類 185
7.8.3 SimpleDateFormat類 186
7.8.4 Calendar類 187
7.9 System與Runtime類 189
7.10 上機實驗 190
任務一:字符串統計 190
任務二:查找字符串中子字符串出現次數 190
任務三:系統登錄 190
任務四:獲取文件名與類型 190

第8章 異常 192
8.1異常處理機制及異常分類 192
8.1.1 Java異常處理機制 192
8.1.2 運行時異常與編譯時異常 193
8.2 異常處理 194
8.2.1 try…catch處理異常 194
8.2.2 try…catch…finally處理異常 196
8.3 多種異常的處理 198
8.4 手動拋出異常 199
8.5 自定義異常 200
8.6 上機實驗 201
任務:智能開關燈應用 201

第9章 集合類 204
9.1 集合基礎知識 204
9.2 Collection接口的方法簡介 205
9.3 List接口及其實現類 205
9.3.1 List接口簡介 205
9.3.2 ArrayList集合 206
9.3.3 Iterator迭代器 210
9.3.4 foreach循環 212
9.3.5 LinkedList集合 212
9.4 Set接口及其實現類 214
9.4.1 HashSet集合 214
9.4.2 TreeSet集合 217
9.5 Map接口及其實現類 223
9.5.1 HashMap集合 224
9.5.2 TreeMap集合 227
9.6 泛型 228
9.6.1 泛型方法 228
9.6.2 泛型類 230
9.7 泛型集合 232
9.7.1 ArrayList泛型集合 233
9.7.2 HashSet泛型集合 235
9.7.3 HashMap泛型集合 235
9.8 枚舉類型 237
9.8.1 枚舉類型簡介 237
9.8.2 枚舉類型的應用 237
9.9 上機實驗 241
任務:實現鬥地主發牌 241

第 10章 File與I/O流 243
10.1 File類 243
10.1.1 File對象的創建 244
10.1.2 File對象的常用方法 244
10.2 字節流 248
10.2.1 字節輸入流InputStream 249
10.2.2 字節輸出流OutputStream 250
10.2.3 使用字節流實現文件復制 253
10.2.4 帶緩沖區的字節流 254
10.3 字符流 255
10.3.1 字符編碼 255
10.3.2 字符輸入流Reader 257
10.3.3 字符輸出流Writer 259
10.3.4 帶緩沖區的字符流 260
10.4 轉換流 261
10.4.1 InputStreamReader 261
10.4.2 OutputStreamWriter 263
10.5 打印流 263
10.6 對象流 264
10.6.1 對象輸出流ObjectOutputStream 264
10.6.2 對象輸入流ObjectInputStream 266
10.6.3 對象的遍歷 268
10.7 上機實驗 269
任務:汽車銷售數據持久化 269

第 11章 多線程 271
11.1 進程與線程 271
11.2 實現多線程的方式 271
11.2.1 繼承Thread類 271
11.2.2 實現Runnable接口 273
11.2.3 匿名內部類實現多線程 274
11.2.4 主線程與子線程 275
11.3 線程的生命週期與狀態 276
11.4 操作線程的方法 277
11.4.1 線程的名字 277
11.4.2 線程的優先級 279
11.4.3 線程的休眠 280
11.4.4 線程的讓步 283
11.4.5 線程的插隊 284
11.5 線程的同步 286
11.5.1 線程安全問題 286
11.5.2 同步代碼塊 288
11.5.3 同步方法 291
11.5.4 線程安全問題的解決 291
11.5.5 死鎖問題 292
11.6 線程的等待與喚醒 295
11.7 上機實驗 299
任務一:解決同時取錢的線程安全問題 299
任務二:交替打印字母數字案例 299

第 12章 圖形用戶界面 301
12.1 Swing介紹 301
12.1.1 JFrame窗體組件 301
12.1.2 JDialog對話框組件 302
12.1.3 JOptionPane對話框 304
12.1.4 中間容器JPanel與JscrollPane 307
12.1.5 標簽組件JLabel 308
12.1.6 文本組件JTextField與JTextArea 309
12.1.7 密碼框組件JPasswordField 311
12.1.8 按鈕組件 312
12.1.9 JComboBox下拉列錶框組件 317
12.1.10 菜單組件 319
12.1.11 ImageIcon圖標組件 321
12.1.12 文件選擇組件JFileChooser 324
12.2佈局管理器 328
12.2.1 流式佈局管理器FlowLayout 328
12.2.2 邊界佈局管理器BorderLayout 329
12.2.3 網絡佈局管理器GridLayout 331
12.2.4 絕對佈局 332
12.3 事件處理 333
12.3.1 動作事件 335
12.3.2 鍵盤事件 337
12.3.3 鼠標事件 338
12.3.4 窗體事件 341
12.3.5 選項事件 342
12.3.6 表格模型事件 343
12.4 上機實驗 347
任務:設計遊戲界面 347

第 13章 網絡編程 349
13.1 網絡通信協議 349
13.1.1 IP地址與埠號 350
13.1.2 InetAddress類 350
13.1.3 UDP與TCP網絡協議 352
13.2 UDP網絡程序設計 353
13.2.1 DatagramPacket 353
13.2.2 DatagramSocket 354
13.2.3 UDP發送與接收示例程序 355
13.2.4 UDP即時聊天程序 356
13.2.5 圖形界面即時聊天案例 359
13.3 TCP網絡程序設計 363
13.3.1 ServerSocket 363
13.3.2 Socket 363
13.3.3 簡單TCP網絡程序 364
13.3.4 多線程與TCP網絡程序 368

第 14章 反射 372
14.1 反射簡介 372
14.2 反射與Class 類 372
14.3 反射訪問構造方法 374
14.4 反射訪問成員變量 376
14.5 反射訪問成員方法 378