本書系統地介紹Java程序設計的基礎知識、開發(fā)環(huán)境與開發(fā)工具。全書共分16章,內容包括Java程序設計語言概述、Java語言的基本語法、運算符與流程控制、面向對象基礎、繼承與多態(tài)、接口、異常處理、常用實用類、集合、Java輸入與輸出、Swing程序設計、Swing高級、多線程、網絡程序設計、JDBC數據庫編程、騰宇超市管理系統。
買書送名師,明日科技資深講師面對面授課。本課程依托人民郵電出版社自主開發(fā)的在線教育慕課平臺——人郵學院(www.rymooc.com),該平臺具有完備的在線“教、學、測”功能。人郵學院提供體系完整的100學時慕課教學視頻同步講解,即學即練的在線測試。書中附有188個微課視頻,掃一掃書中二維碼,便可隨時隨地學習。附贈300余道習題和自測題, PPT 課件、案例源代碼、自測試卷、拓展案例等豐富的配套資源。
明日科技的,程序設計類暢銷圖書作者,絕大多數品種在“全國計算機圖書排行榜”同品種排行中名列前茅,累計銷售百萬冊。作者編寫的《Java 從入門到精通》長期占據各網店排行榜的榜首位置。
第1章 Java語言概述 1
1.1 Java語言誕生背景 2
1.2 Java語言的特點 2
1.3 安裝Java程序開發(fā)工具 3
1.3.1 下載JDK 3
1.3.2 安裝JDK 4
1.3.3 Windows系統下配置和測試JDK 5
1.4 Java程序開發(fā)過程 7
1.5 Java程序開發(fā)工具Eclipse 8
1.5.1 Eclipse簡介 8
1.5.2 Eclipse的下載與啟動 8
1.5.3 Eclipse編寫Java程序的步驟 11
1.6 編程風格 13
1.7 API簡介 14
小 結 15
習 題 15
第2章 Java語言的基本語法 16
2.1 關鍵字和標識符 17
2.1.1 Unicode字符集 17
2.1.2 關鍵字 17
2.1.3 標識符 17
2.2 常量與變量 18
2.2.1 常量的概念及使用要點 18
2.2.2 變量的概念及使用要點 19
2.3 數據類型 19
2.3.1 基本數據類型 20
2.3.2 引用數據類型 24
2.3.3 基本數據類型與引用數據類型的區(qū)別 25
2.3.4 數據類型之間的相互轉換 28
2.4 數組 30
2.4.1 聲明數組 30
2.4.2 創(chuàng)建數組 31
2.4.3 初始化數組 31
2.4.4 數組長度 31
2.4.5 使用數組元素 32
小 結 32
習 題 32
第3章 運算符與流程控制 34
3.1 運算符 35
3.1.1 賦值運算符 35
3.1.2 算術運算符 35
3.1.3 關系運算符 36
3.1.4 邏輯運算符 37
3.1.5 位運算符 39
3.1.6 對象運算符 41
3.1.7 其他運算符 41
3.1.8 運算符的優(yōu)先級別及結合性 42
3.2 if語句 43
3.2.1 簡單的if條件語句 43
3.2.2 if...else條件語句 44
3.2.3 if...else if多分支語句 46
3.2.4 if語句的嵌套 47
3.3 switch語句 48
3.4 if語句和switch語句的區(qū)別 50
3.5 循環(huán)語句 50
3.5.1 for循環(huán)語句 50
3.5.2 while循環(huán)語句 52
3.5.3 do...while循環(huán)語句 52
3.5.4 循環(huán)的嵌套 54
3.6 跳轉語句 57
3.6.1 break跳轉語句 57
3.6.2 continue跳轉語句 57
3.6.3 return跳轉語句 58
小 結 59
習 題 59
第4章 面向對象程序設計基礎 60
4.1 面向對象程序設計概述 61
4.2 類 62
4.2.1 定義類 62
4.2.2 成員變量和局部變量 63
4.2.3 成員方法 65
4.2.4 注意事項 67
4.2.5 類的UML圖 67
4.3 構造方法與對象 67
4.3.1 構造方法的概念及用途 68
4.3.2 對象概述 69
4.4 類與程序的結構關系 72
4.5 參數傳值 72
4.5.1 傳值機制 72
4.5.2 基本數據類型的參數傳值 72
4.5.3 引用類型參數的傳值 73
4.6 對象的組合 74
4.6.1 組合與復用 74
4.6.2 類的關聯關系和依賴關系的UML圖 75
4.7 實例方法與類方法 75
4.7.1 實例方法與類方法的定義 76
4.7.2 實例方法和類方法的區(qū)別 76
4.8 this關鍵字 76
4.9 包 78
4.9.1 包的概念 78
4.9.2 創(chuàng)建包 78
4.9.3 使用包中的類 79
4.10 import語句 79
4.11 訪問權限 80
小 結 83
習 題 83
第5章 繼承與多態(tài) 84
5.1 繼承概述 85
5.1.1 繼承的概念 85
5.1.2 子類對象的創(chuàng)建 85
5.1.3 繼承的使用原則 86
5.1.4 super關鍵字 87
5.2 子類的繼承 88
5.3 多態(tài) 89
5.3.1 成員方法的重載 90
5.3.2 避免重載出現的歧義 91
5.3.3 成員方法的覆蓋 91
5.3.4 向上轉型 93
5.4 抽象類 94
5.4.1 抽象類和抽象方法 94
5.4.2 抽象類和抽象方法的規(guī)則 95
5.4.3 抽象類的作用 96
5.5 final關鍵字 96
5.5.1 final變量 96
5.5.2 final類 97
5.5.3 final方法 97
5.6 內部類 97
5.6.1 成員內部類 97
5.6.2 局部內部類 99
5.6.3 靜態(tài)內部類 100
5.6.4 匿名類 101
小 結 102
習 題 102
第6章 接 口 103
6.1 接口簡介 104
6.2 定義接口 104
6.3 接口的繼承 104
6.4 接口的實現 105
6.5 接口與抽象類 108
6.6 接口的UML圖 108
6.7 接口回調 109
6.8 接口與多態(tài) 110
6.9 接口參數 110
6.10 面向接口編程 111
小 結 112
習 題 112
第7章 異常處理 113
7.1 異常的概念 114
7.2 異常處理的方法 114
7.2.1 使用try...catch語句 115
7.2.2 finally語句的用法 117
7.2.3 使用throws關鍵字拋出異!118
7.2.4 使用throw關鍵字 118
7.2.5 使用異常處理語句的注意事項 119
7.3 異常類 121
7.3.1 Error類 121
7.3.2 Exception類 122
7.4 自定義異常類 123
7.5 異常的使用原則 125
小 結 125
習 題 125
第8章 常用的實用類 126
8.1 String類 127
8.1.1 創(chuàng)建字符串對象 127
8.1.2 連接字符串 127
8.1.3 字符串操作 129
8.1.4 格式化字符串 134
8.1.5 對象的字符串表示 135
8.2 日期和時間的顯示形式 136
8.2.1 Date類 136
8.2.2 格式化日期和時間 136
8.3 Scanner類 138
8.4 Math類和Random類 139
8.5 數字格式化 140
8.5.1 Formatter類 140
8.5.2 格式化整數 140
8.5.3 格式化浮點數 141
8.6 StringBuffer類 142
8.6.1 StringBuffer對象的創(chuàng)建 142
8.6.2 StringBuffer類的常用方法 143
8.7 包裝類 144
8.7.1 Integer類 144
8.7.2 Boolean類 147
8.7.3 Byte類 148
8.7.4 Character類 149
8.7.5 Double類 150
8.7.6 Number類 151
小 結 151
習 題 152
第9章 集合 153
9.1 集合中主要接口的概述 154
9.2 Collection接口 154
9.2.1 addAll()方法 155
9.2.2 removeAll()方法 156
9.2.3 retainAll()方法 157
9.2.4 containsAll()方法 158
9.2.5 toArray()方法 158
9.3 List集合 159
9.3.1 List集合的用法 159
9.3.2 使用ArrayList類 161
9.3.3 使用LinkedList類 163
9.4 Set集合 165
9.4.1 使用HashSet類 165
9.4.2 使用TreeSet類 167
9.5 Map集合 173
9.5.1 Map集合的用法 173
9.5.2 使用HashMap類 174
9.5.3 使用TreeMap類 177
小 結 178
習 題 178
第10章 Java輸入與輸出 179
10.1 File類 180
10.2 流 181
10.2.1 流的基本概念 181
10.2.2 輸入/輸出流 181
10.3 字節(jié)流 183
10.3.1 InputStream類與OutputStream類 183
10.3.2 FileInputStream類與FileOutputStream類 184
10.4 字符流 186
10.4.1 Reader類與Writer類 186
10.4.2 InputStreamReader類與OutputStreamWriter類 187
10.4.3 FileReader類與FileWriter類 190
10.4.4 BufferedReader類與BufferedWriter類 191
10.4.5 PrintStream類與PrintWriter類 193
10.4.6 System.in獲取用戶輸入 195
10.5 RandomAccessFile類 196
10.6 過濾器流 198
10.7 對象序列化 198
10.7.1 ObjectInput接口與ObjectOutput接口 199
10.7.2 ObjectInputStream類與ObjectOutputStream類 199
小 結 201
習 題 201
第11章 Swing程序設計 202
11.1 Swing概述 203
11.2 創(chuàng)建窗體 203
11.3 常用布局管理器 204
11.3.1 不使用布局管理器 205
11.3.2 FlowLayout類布局管理器 206
11.3.3 BorderLayout類布局管理器 207
11.3.4 GridLayout類布局管理器 208
11.4 常用面板 209
11.4.1 JPanel類面板 209
11.4.2 JScrollPane類面板 211
11.5 常用組件 213
11.5.1 JLabel(標簽)組件 213
11.5.2 JButton(按鈕)組件 214
11.5.3 JRadioButton(單選按鈕)組件 215
11.5.4 JCheckBox(復選框)組件 216
11.5.5 JComboBox(選擇框)組件 218
11.5.6 JList(列表框)組件 219
11.5.7 JTextField(文本框)組件 221
11.5.8 JPasswordField(密碼框)組件 223
11.5.9 JTextArea(文本域)組件 225
11.6 常用事件處理 226
11.6.1 動作事件處理 226
11.6.2 焦點事件處理 229
11.6.3 鼠標事件處理 230
11.6.4 鍵盤事件處理 232
11.7 拼圖游戲 234
11.7.1 游戲簡介 234
11.7.2 設計思路 234
11.7.3 開發(fā)步驟 236
小 結 239
習 題 240
第12章 Swing高級應用 241
12.1 利用JTable類直接創(chuàng)建表格 242
12.1.1 創(chuàng)建表格 242
12.1.2 定義表格 244
12.1.3 操作表格 248
12.2 表格模型與表格 250
12.2.1 利用表格模型創(chuàng)建表格 250
12.2.2 維護表格模型 252
12.3 提供行標題欄的表格 255
12.4 簡單的樹 259
12.5 處理選中節(jié)點事件 261
12.6 遍歷樹節(jié)點 263
12.7 定制樹 265
12.8 維護樹模型 267
12.9 處理展開節(jié)點事件 269
小 結 271
習 題 271
第13章 多線程 272
13.1 線程概述 273
13.2 線程的創(chuàng)建 273
13.2.1 線程的創(chuàng)建方式 274
13.2.2 繼承Thread類 274
13.2.3 實現Runnable接口 275
13.3 線程的生命周期 276
13.4 線程的優(yōu)先級 277
13.5 線程的控制 277
13.5.1 線程的啟動 277
13.5.2 線程的掛起 278
13.5.3 線程的狀態(tài)檢查 279
13.5.4 線程的結束 280
13.5.5 后臺線程 281
13.6 線程的同步 281
13.7 線程的通信 285
13.8 多線程產生死鎖 288
小 結 288
習 題 289
第14章 網絡程序設計 290
14.1 協議的基礎知識 291
14.1.1 TCP 291
14.1.2 UDP 291
14.2 IP地址封裝 291
14.3 套接字 293
14.3.1 服務器端套接字 293
14.3.2 客戶端套接字 295
14.4 數據報 299
14.4.1 DatagramPacket類 299
14.4.2 DatagramSocket類 300
14.5 網絡聊天程序開發(fā) 302
小 結 306
習 題 307
第15章 JDBC數據庫編程 308
15.1 JDBC概述 309
15.1.1 JDBC-ODBC橋介紹 309
15.1.2 JDBC介紹 309
15.1.3 JDBC驅動類型 310
15.2 JDBC中的常用類和接口 310
15.2.1 Driver類 311
15.2.2 DriverManager類 311
15.2.3 Connection接口 311
15.2.4 Statement接口 312
15.2.5 PreparedStatement接口 313
15.2.6 CallableStatement接口 314
15.2.7 ResultSet接口 314
15.3 連接數據庫 317
15.3.1 加載JDBC驅動程序 317
15.3.2 創(chuàng)建數據庫連接 318
15.3.3 執(zhí)行SQL語句 319
15.3.4 獲得查詢結果 320
15.3.5 關閉連接 320
15.4 操作數據庫 320
15.4.1 添加數據 320
15.4.2 查詢數據 324
15.4.3 修改數據 327
15.4.4 刪除數據 329
15.5 應用JDBC事務 332
小 結 335
習 題 335
第16章 綜合案例——騰宇超市
管理系統 336
16.1 項目設計思路 337
16.1.1 功能闡述 337
16.1.2 系統預覽 337
16.1.3 功能結構 337
16.1.4 文件組織結構 338
16.2 數據庫設計 338
16.2.1 數據庫結構設計 338
16.2.2 數據表設計 338
16.3 公共類設計 340
16.3.1 連接數據庫 340
16.3.2 獲取當前系統時間類 341
16.4 登錄模塊設計 341
16.4.1 登錄模塊概述 341
16.4.2 實現帶背景的窗體 342
16.4.3 登錄模塊實現過程 342
16.5 主窗體設計 345
16.5.1 主窗體概述 345
16.5.2 平移面板控件 345
16.5.3 主窗體實現過程 348
16.6 采購訂貨模塊設計 350
16.6.1 采購訂貨模塊概述 350
16.6.2 在表格中添加按鈕 350
16.6.3 添加采購訂貨信息實現過程 351
16.6.4 搜索采購訂貨信息實現過程 353
16.6.5 修改采購訂貨信息實現過程 355
16.6.6 刪除采購訂貨信息實現過程 358
16.7 人員管理模塊設計 359
16.7.1 人員管理模塊概述 359
16.7.2 使用觸發(fā)器級聯刪除數據 359
16.7.3 顯示查詢條件實現過程 360
16.7.4 顯示員工基本信息實現過程 362
16.7.5 添加員工信息實現過程 364
16.7.6 刪除員工信息實現過程 367
16.8 在Eclipse中實現程序打包 368
小 結 370
附錄 上機實驗 371
實驗1 Java基礎 371
實驗目的 371
實驗內容 371
實驗2 程序流程控制 373
實驗目的 373
實驗內容 373
實驗3 類的繼承 374
實驗目的 374
實驗內容 374
實驗4 使用集合類 375
實驗目的 375
實驗內容 375
實驗5 數據流 376
實驗目的 376
實驗內容 376
實驗6 線程控制 377
實驗目的 377
實驗內容 377
實驗7 異常處理 378
實驗目的 378
實驗內容 378
實驗8 Swing程序設計 379
實驗目的 379
實驗內容 379
實驗9 網絡程序設計 381
實驗目的 381
實驗內容 381
實驗10 通過JDBC方式操作數據庫 382
實驗目的 382
實驗內容 382
實驗11 計算器 384
實驗目的 384
實驗內容 384
實驗12 日志簿 388
實驗目的 388
實驗內容 388