本書深入介紹了Java語言的基礎知識及其高級特性,以實例與項目為導向,幫助讀者實現(xiàn)從基礎知識到實踐應用的快速飛躍。本書從Java基礎到綜合項目共分12章,內(nèi)容涵蓋Java虛擬機、數(shù)據(jù)類型、面向對象高級特性、面向對象分析與設計方法、類、接口、泛型、枚舉、異常體系、集合框架、輸入輸出流、多線程、GUI圖形用戶界面設計、JDBC和綜合項目實踐等。 本書從實踐性出發(fā)、以易教易學為目標,提供大量實例,每章后配有習題和習題參考答案,便于教師教學和學生自學。本書以實例與綜合項目為主線貫穿Java編碼規(guī)范、面向對象分析與設計方法、數(shù)組、集合、文件、多線程、Swing、JDBC等重要技術,希望讀者能迅速將Java基礎知識應用于項目實踐。本書既可作為高等院校學習Java程序設計、面向對象編程、Java項目實踐等相關課程的教材,也可作為具有一定數(shù)據(jù)庫基礎,對管理信息系統(tǒng)開發(fā)感興趣的專業(yè)人員的參考書。
段林濤,男,博士,副教授,軟件設計師,德國不萊梅大學計算與通信技術中心人工智能研究所博士后。長期從事計算機應用軟件研發(fā)以及嵌入式實時系統(tǒng)、綠色計算、可穿戴智能交互等理論與應用的研究工作。
目 錄
第1章 Java語言概述 1
1.1 Java語言簡介 1
1.1.1 Java語言發(fā)展史 1
1.1.2 Java語言的特點 2
1.1.3 為什么學習Java語言 3
1.2 Java虛擬機 5
1.2.1 概述 5
1.2.2 JVM運行時數(shù)據(jù)區(qū) 6
1.3 Java開發(fā)環(huán)境 7
1.3.1 JRE與JDK 7
1.3.2 開發(fā)環(huán)境的搭建 10
1.4 第一個Java應用程序 13
1.4.1 編輯、編譯與運行 13
1.4.2 第一個應用程序的基本結構 17
1.4.3 調(diào)試 18
習題1 19
第2章 數(shù)據(jù)類型與表達式 20
2.1 基本數(shù)據(jù)類型 20
2.1.1 整型類型 20
2.1.2 浮點類型 21
2.1.3 boolean類型 22
2.2 引用數(shù)據(jù)類型 22
2.2.1 類與對象 22
2.2.2 接口與實現(xiàn)類 23
2.2.3 數(shù)組 23
2.2.4 字符串 24
2.2.5 輸入與輸出 26
2.3 數(shù)據(jù)類型轉換 28
2.3.1 基本數(shù)據(jù)類型轉換 28
2.3.2 引用數(shù)據(jù)類型轉換 31
2.4 運算符與表達式 32
2.4.1 操作數(shù) 33
2.4.2 算術運算符 34
2.4.3 關系運算符 35
2.4.4 邏輯運算符 36
2.4.5 位運算符 38
2.4.6 條件運算符 39
2.4.7 賦值運算符 39
2.4.8 語句與語句塊 40
2.5 Java編程規(guī)范 41
2.5.1 注釋 41
2.5.2 空白符 43
2.5.3 括號 43
2.5.4 命名規(guī)范 44
習題2 44
第3章 流程控制 46
3.1 程序的基本結構概述 46
3.2 選擇結構 46
3.2.1 if語句 47
3.2.2 switch語句 49
3.3 循環(huán)結構 51
3.3.1 for語句 51
3.3.2 while語句 53
3.3.3 do-while語句 53
3.3.4 break與continue語句 54
習題3 57
第4章 數(shù)組 59
4.1 一維數(shù)組 59
4.1.1 數(shù)組聲明與初始化 59
4.1.2 數(shù)組訪問 60
4.2 二維數(shù)組與多維數(shù)組 61
4.2.1 數(shù)組聲明與初始化 61
4.2.2 數(shù)組訪問 63
4.3 方法調(diào)用與參數(shù)傳遞 64
4.3.1 方法 64
4.3.2 參數(shù)類型 65
4.4 數(shù)組常見操作 67
4.4.1 插入與刪除 67
4.4.2 遍歷 68
4.4.3 合并 68
4.4.4 動態(tài)擴展 69
4.4.5 查詢 70
4.4.6 排序 70
習題4 72
第5章 類與對象 73
5.1 面向對象編程概述 73
5.2 類的定義與實例化 74
5.2.1 類路徑與包 74
5.2.2 數(shù)據(jù)與方法 77
5.2.3 訪問控制 79
5.2.4 方法重載 82
5.2.5 構造方法 82
5.2.6 static成員 86
5.2.7 final成員 87
5.3 面向對象特性 88
5.3.1 封裝 88
5.3.2 繼承 89
5.3.3 多態(tài) 91
5.4 面向對象高級特性 93
5.4.1 枚舉類型 93
5.4.2 抽象類 94
5.4.3 接口 95
5.4.4 內(nèi)部類 96
5.5 實例:圖書進貨管理子系統(tǒng) (數(shù)組) 98
5.5.1 問題描述 98
5.5.2 系統(tǒng)功能分析 98
5.5.3 系統(tǒng)設計 99
5.5.4 系統(tǒng)實現(xiàn) 102
5.5.5 運行 104
習題5 107
第6章 異常 108
6.1 Java異常體系 108
6.1.1 Java異常 109
6.1.2 異常類型 109
6.1.3 常見異常類 111
6.2 異常處理機制 113
6.2.1 throws子句 113
6.2.2 try-catch-finally語句 114
6.2.3 try-with-resource語句 117
6.2.4 throw語句 120
6.2.5 異常鏈 121
6.3 自定義異常 121
6.4 日志 123
習題6 126
第7章 集合框架 127
7.1 泛型 127
7.1.1 泛型類 127
7.1.2 泛型接口 128
7.1.3 泛型方法 129
7.1.4 通配符類型 130
7.2 集合框架體系 131
7.2.1 集合概述 131
7.2.2 常用接口與實現(xiàn)類 132
7.3 集合對象 134
7.3.1 Set接口及實現(xiàn)類 134
7.3.2 SortedSet接口及實現(xiàn)類 137
7.3.3 List接口及實現(xiàn)類 140
7.3.4 Queue接口及實現(xiàn)類 142
7.3.5 Deque接口及實現(xiàn)類 145
7.3.6 Map接口及實現(xiàn)類 147
7.3.7 SortedMap接口及實現(xiàn)類 149
7.4 集合工具類 150
7.4.1 Arrays 150
7.4.2 Collections 154
7.5 實例:圖書銷售管理子系統(tǒng) (集合) 156
7.5.1 問題描述 156
7.5.2 系統(tǒng)功能分析 156
7.5.3 系統(tǒng)設計 157
7.5.4 系統(tǒng)實現(xiàn) 162
7.5.5 運行 166
習題7 169
第8章 I/O流與文件 170
8.1 流的基本概念 170
8.2 字節(jié)I/O流 171
8.2.1 InputStream類和OutputStream類 171
8.2.2 FileInputStream類和FileOutputStream類 172
8.2.3 DataInputStream類和DataOutputStream類 173
8.2.4 BufferedInputStream類和BufferedOutputStream類 175
8.2.5 ByteArrayInputStream類和ByteArrayOutputStream類 176
8.2.6 PipedInputStream類和
PipedOutputStream類 177
8.2.7 ObjectInputStream類和
ObjectOutputStream類 179
8.2.8 CipherInputStream類和
CipherOutputStream類 181
8.3 字符I/O流 182
8.3.1 Reader類和Writer類 182
8.3.2 InputStreamReader類和
OutputStreamWriter類 183
8.3.3 FileReader類和FileWriter類 184
8.3.4 BufferedReader類和
BufferedWriter類 185
8.4 文件系統(tǒng) 186
8.4.1 文件相關接口與類 186
8.4.2 文件操作示例 188
8.4.3 隨機訪問文件類 189
8.5 實例:圖書信息維護子系統(tǒng)(文件) 190
8.5.1 問題與系統(tǒng)功能描述 190
8.5.2 系統(tǒng)設計 191
8.5.3 系統(tǒng)實現(xiàn) 195
8.5.4 運行 200
習題8 201
第9章 多線程 202
9.1 線程的基本概念 202
9.2 線程控制 203
9.2.1 線程創(chuàng)建與啟動 203
9.2.2 線程終止 204
9.2.3 線程阻塞 206
9.3 互斥與同步問題 207
9.3.1 線程互斥 208
9.3.2 線程同步 209
9.4 線程狀態(tài) 212
9.5 死鎖 213
9.6 實例:作業(yè)調(diào)度器 214
9.6.1 問題與系統(tǒng)功能描述 214
9.6.2 系統(tǒng)設計 215
9.6.3 系統(tǒng)實現(xiàn) 215
9.6.4 運行 218
習題9 219
第10章 Swing圖形界面編程 220
10.1 AWT與Swing 220
10.2 容器與布局管理器 220
10.2.1 頂層容器 220
10.2.2 中間容器 222
10.2.3 布局管理器 227
10.3 Swing常用組件 239
10.3.1 JLabel 239
10.3.2 JButton 240
10.3.3 JComboBox 241
10.3.4 JTextField、JPasswordField和 JTextArea 243
10.3.5 JCheckBox和JRadioButton 245
10.3.6 JList 246
10.3.7 JTable 247
10.3.8 JTree 250
10.3.9 JOptionPane 253
10.4 事件偵聽與處理模型 256
10.4.1 事件 256
10.4.2 監(jiān)聽器 258
10.4.3 適配器 260
10.5 實例:圖書信息維護子系統(tǒng)(GUI) 261
10.5.1 問題與系統(tǒng)功能描述 261
10.5.2 系統(tǒng)設計 262
10.5.3 系統(tǒng)實現(xiàn) 264
10.5.4 運行 267
習題10 269
第11章 數(shù)據(jù)庫編程 270
11.1 JDBC 270
11.2 常用接口與類 274
11.3 實例:圖書信息維護子系統(tǒng) (JDBC) 276
11.3.1 問題與系統(tǒng)功能描述 276
11.3.2 數(shù)據(jù)庫設計與實現(xiàn) 277
11.3.3 系統(tǒng)實現(xiàn) 277
習題11 281
第12章 項目:圖書進銷存管理系統(tǒng)的設計與實現(xiàn) 282
12.1 問題與系統(tǒng)功能描述 282
12.1.1 項目描述 282
12.1.2 業(yè)務流程說明 283
12.2 系統(tǒng)設計 284
12.2.1 數(shù)據(jù)庫設計 284
12.2.2 對象設計 288
12.2.3 用戶合法性校驗流程 291
12.2.4 基礎信息維護流程(以圖 書為例) 292
12.2.5 進貨流程 292
12.2.6 銷售流程 294
12.3 系統(tǒng)實現(xiàn) 295
12.3.1 數(shù)據(jù)庫連接池 295
12.3.2 用戶登錄和注銷 296
12.3.3 圖書增刪改查 297
12.3.4 進貨流程 299
12.3.5 銷售流程 302
12.3.6 單據(jù)明細獲取 303
12.3.7 圖書銷售排行 304
12.3.8 圖書庫存統(tǒng)計 305
12.4 運行 305
12.4.1 系統(tǒng)登錄界面 305
12.4.2 基礎信息維護界面(以圖書 為例) 306
12.4.3 進貨界面 307
12.4.4 進貨單維護界面 307
12.4.5 銷售界面 308
12.4.6 銷售單維護界面 309
12.4.7 圖書銷售排行界面 310
12.4.8 圖書庫存統(tǒng)計界面 310
12.5 系統(tǒng)擴展 311
參考文獻 312