Java程序設計實戰案例教程
王靜紅 劉芳 李雅莉
相關主題
商品描述
本書從初學者的角度出發,由淺入深地講解了Java語言的相關內容。全書共11章,主要介紹了Java開發環境的搭建及其運行機制、基本語法、面向對象編程思想、多線程、常用API、集合、I/O、網絡編程等內容,採用通俗易懂的語言闡述抽象的概念,選用生活中密切相關的例子演示知識的運用,通過剖析案例、分析代碼含義、解決常見問題等方式進行講解。書中還添加了許多階段性任務來模擬程序開發過程,幫助初學者培養良好的編程習慣。
作者簡介
王靜紅,博士,三級教授,專業為計算機科學與技術,河北省有突出貢獻中青年專家,河北省新世紀“三三三”人才,河北省信息化專家委員會委員,河北省大數據學會秘書長,國際IEEE高級會員,中國人工智能學會專委會委員,石家莊市拔尖人才,石家莊市十佳青年教師,河北省人工智能學會理事,中國計算機CCF石家莊執委主持的省科技攻關項目獲河北省科技進步二等獎。
教學名師、學術帶頭人、中青年骨干教師。先後在《Pattern Recognition and Artificial Intelligence》、《Journal of Zhejiang University》、《計算機研究與發展》等國內外科技刊物發表論文50多篇,其中30餘篇被SCI、EI檢索收錄。
科研方向為大數據與數據挖掘、人工智能、模式識別、計算機應用等。
目錄大綱
第 1章 初識Java 1
1.1 Java概述 1
1.1.1 什麼是Java 1
1.1.2 Java語言的特點 1
1.2 Java開發環境配置 3
1.2.1 安裝JDK 3
1.2.2 JDK目錄介紹 3
1.2.3 配置環境變量 4
1.3 編寫第 一個Java程序 6
1.4 Java程序的運行機制 8
1.5 使用Eclipse開發工具編寫Java程序 9
本章小結 13
練習題 13
上機實戰 15
實戰1-1 編寫Java程序顯示個人基本信息 15
第 2章 Java編程基礎 16
2.1 Java的基本語法 16
2.1.1 Java代碼的基本格式 16
2.1.2 Java中的註釋 17
2.1.3 Java中的標識符 18
2.1.4 Java中的關鍵字 18
2.1.5 Java中的分隔符 19
2.2 常量與變量 19
2.2.1 常量 19
2.2.2 變量 20
2.2.3 基本數據類型 21
2.2.4 數據類型轉換 23
2.2.5 變量的作用域 25
2.3 表達式與運算符 26
2.3.1 表達式 26
2.3.2 運算符 26
2.3.3 鍵盤錄入 31
【任務2-1】打印超市購物清單 31
2.4 選擇結構 33
2.4.1 if語句 33
2.4.2 switch語句 37
2.5 循環結構 40
2.5.1 while循環語句 40
2.5.2 do…while循環語句 41
2.5.3 for循環語句 42
2.5.4 循環嵌套 43
2.5.5 跳轉語句 44
【任務2-2】猜數字遊戲 45
2.6 方法 47
2.6.1 方法的概念 47
2.6.2 方法的定義 47
2.6.3 方法的調用 48
2.6.4 方法的重載 49
2.7 數組 50
2.7.1 數組的概念 50
2.7.2 數組的聲明及初始化 50
2.7.3 數組的常用操作 51
2.7.4 多維數組 55
【任務2-3】統計平均分功能 55
本章小結 56
練習題 57
上機實戰 58
實戰2-1 鐵路售票系統的餘票查詢功能 58
實戰2-2 網站會員登錄功能 58
實戰2-3 課堂隨機點名器 59
第3章 面向對象(上) 60
3.1 類與對象 60
3.1.1 類與對象概述 61
3.1.2 類的定義 61
3.1.3 對象的創建與使用 61
3.1.4 類和對象的使用擴展 62
3.2 成員變量與局部變量 64
3.3 構造方法 65
3.3.1 構造方法的定義 65
3.3.2 構造方法的重載 67
3.4 包 69
3.4.1 聲明包 69
3.4.2 導入包 69
3.5 封裝 70
3.5.1 封裝的概述 71
3.5.2 類的封裝 71
3.5.3 this關鍵字 73
【任務3-1】計算長方形的周長與面積 75
3.5.4 static關鍵字 77
本章小結 81
練習題 81
上機實戰 84
實戰3-1 定義用戶類、課程類並對屬性進行封裝 84
實戰3-2 實現WorkShop在線學習系統的主菜單 84
實戰3-3 實現WorkShop在線學習系統的註冊功能 85
實戰3-4 實現WorkShop在線學習系統的登錄功能 86
實戰3-5 實現WorkShop在線學習系統的課程查詢功能 86
第4章 面向對象(下) 88
4.1 類的繼承 88
4.1.1 什麼是繼承 88
4.1.2 如何實現繼承 89
4.1.3 重寫父類方法 90
4.2 方法重寫 91
4.3 super關鍵字 92
4.4 final關鍵字 95
4.5 抽像類和接口 96
4.5.1 抽像類 96
4.5.2 接口 97
【任務4-1】冒險者接口程序設計 99
4.6 多態 101
4.6.1 生活中的多態 101
4.6.2 Java中如何實現多態 102
4.6.3 類型轉換 104
4.6.4 類型驗證關鍵字instanceof 105
4.6.5 Object類 106
4.7 內部類 106
4.7.1 內部類的概述 107
4.7.2 內部類的分類 107
本章小結 110
練習題 110
上機實戰 112
實戰4-1 模擬“小哥快跑”快遞物流系統功能 112
第5章 異常 113
5.1 異常的概述 113
5.1.1認識異常 113
5.1.2 異常的分類 115
5.2 異常的處理機制 116
5.2.1 使try-catch-finally處理異常 116
5.2.2 多重catch處理異常 118
5.2.3 throws聲明異常 120
5.2.4 自定義異常 121
本章小結 123
練習題 123
上機實戰 124
實戰5-1 自定義成績異常處理 124
第6章 Java API 125
6.1 String、StringBuffer和StringBuilder類 125
6.1.1 String類初始化 125
6.1.2 String類常用方法 126
6.1.3 StringBuffer類 128
6.1.4 StringBuilder類 129
6.2 System類和Runtime類 130
6.2.1 System類的常用方法 130
6.2.2 Runtime類的常用方法 131
6.3 Math類和Random類 132
6.4 處理日期的類 133
6.4.1 Date類 133
6.4.2 Calendar類 134
6.5 包裝類 134
本章小結 136
練習題 136
上機實戰 137
實戰6-1 記錄一個子串在整串中出現的次數 137
第7章 集合框架和泛型 138
7.1 認識集合框架體系 138
7.2 Collection接口 139
7.3 List接口 139
7.3.1 ArrayList集合 140
7.3.2 LinkedList集合 141
7.4 Iterator迭代器 143
7.5 泛型 144
7.6 Set接口 145
7.6.1 Set接口簡介 145
7.6.2 HashSet集合 146
7.7 Map接口 149
7.7.1 Map接口簡介 149
7.7.2 HashMap集合 150
7.8 Collections類 153
本章小結 156
練習題 156
上機實戰 157
實戰7-1 使用HashMap存儲學生成績並遍歷輸出 157
實戰7-2 使用HashSet和ArrayList輸出10個1~20隨機數 157
實戰7-3 存儲學生信息並遍歷輸出 158
第8章 I/O 159
8.1 I/O流 159
8.1.1 I/O流的概述 159
8.1.2 I/O流的分類 159
8.2 字節流 159
8.2.1 字節流的概念 159
8.2.2 字節流讀寫文件 161
8.2.3 文件的複制 164
8.2.4 字節緩衝流 167
8.3 字符流 169
8.3.1 字符流概述 169
8.3.2 FileReader和FileWriter讀寫文件中的字符 170
8.3.3 字符緩衝流BufferedReader和BufferedWriter 171
8.3.4 轉換流 174
8.4 File類 176
8.4.1 File類概述 176
8.4.2 File類的常用方法 176
8.4.3 File類的使用 177
本章小結 184
練習題 185
上機實戰 186
實戰8-1 輸入課程信息存儲到磁盤文件 186
實戰8-2 簡易文件搜索程序 187
第9章 數據庫編程 189
9.1 什麼是JDBC 189
9.2 JDBC常用API 190
9.2.1 Driver接口 190
9.2.2 DriverManager類 190
9.2.3 Connection接口 190
9.2.4 Statement接口 190
9.2.5 PreparedStatement接口 191
9.2.6 ResultSet接口 192
9.3 實現第 一個JDBC程序 192
9.4 PreparedStatement對象 196
9.5 ResulstSet對象 198
上機實戰 200
實戰9-1 WorkShop商品庫存管理系統 200
本章小結 201
練習題 201
第 10章 多線程 202
10.1 線程概述 202
10.1.1 什麼是進程 202
10.1.2 什麼是線程 203
10.2 在Java中實現多線程的方式 203
10.2.1 繼承Thread類 203
10.2.2 實現Runnable接口 205
10.2.3 繼承Thread類和實現Runnable接口的區別 206
10.2.4 實現Callable接口 209
10.3 線程的生命週期 210
10.4 線程的常用方法 211
10.4.1 線程的優先級 211
10.4.2 線程活動狀態判斷 212
10.4.3 線程休眠 213
10.4.4 線程讓步 215
10.4.5 線程插隊 216
10.5 多線程同步與死鎖 217
10.5.1 線程安全問題 217
10.5.2 同步代碼塊 218
10.5.3 線程死鎖 221
【任務10-1】銀行存取款程序設計 222
本章小結 224
練習題 224
上機實戰 226
實戰10-1 龜兔賽跑程序 226
第 11章 Java網絡編程 227
11.1 網絡通信基礎 227
11.1.1 網絡通信的意義 227
11.1.2 IP地址和端口號 227
11.1.3 網絡通信協議 228
11.2 IP地址的Java實現 229
11.2.1 java. net包 229
11.2.2 InetAddress類 229
11.3 UDP通信的Java實現 230
11.3.1 DatagramPacket類與DatagramSocket類 230
11.3.2 UDP網絡程序 231
11.4 TCP通信的Java實現 233
11.4.1 ServerSocket類與Socket類 233
11.4.2 TCP網絡程序 235
本章小結 236
練習題 237
上機實戰 237
實戰11-1 UDP兩端相互聊天程序 237
實戰11-2 TCP實現文件傳輸 237