內容簡介
《21天學通Java(第4版)》是 Java 語言的入門教程,由淺入深、循序漸進地講授如何使用 Java 語言進行程式開發。全書內 容包括 Java 開發環境、Java 基本語法知識、Java 面向對象特點、Java 界面開發,以及 Java 資料庫開發和 網路編程開發。為了便於讀者學習,《21天學通Java(第4版)》最後一章對一個完整的學生管理系統進行了分析,具體講解了 學生模組,以及其他模組的功能分析。
《21天學通Java(第4版)》旨在為 Java 語言的初學者和大中專學生提供易於入門,便於全面了解和掌握 Java 編程技術的教 輔資料,同時對有一定經驗的 Java 編程者和
學習者也有一定的參考價值。
《21天學通Java(第4版)》附帶 DVD 光碟一張,包括超大容量教學視頻、電子教案(PPT)、原始碼、職場面試法寶等。
目錄
第一篇 基礎篇
第1 章 Java 簡介( 教學視頻:43 分鐘) ..................... 1
1.1 Java 的平台簡介.............................. 1
1.2 安裝工具包...................................... 2
1.2.1 下載JDK............................................ 2
1.2.2 安裝JDK............................................ 3
1.2.3 查看與設定環境變數......................... 4
1.2.4 JDK 常用命令.................................... 6
1.2.5 Java 各個目錄含義............................ 7
1.2.6 JDK 的幫助檔案................................ 7
1.3 程式開發過程.................................. 8
1.4 編碼規範.......................................... 8
1.5 HelloWorld:第一個Java 程式...... 8
1.5.1 編寫程式代碼..................................... 8
1.5.2 編譯程式代碼並運行......................... 9
1.5.3 注意事項........................................... 10
1.6 使用Eclipse 集成開發工具開發.. 10
1.7 綜合練習......................................... 11
1.8 小結................................................. 11
1.9 習題................................................. 11
第2 章 Java 的基本數據類型( 教學視頻:38 分鐘) .................... 12
2.1 數據類型........................................ 12
2.1.1 整型................................................... 12
2.1.2 浮點型............................................... 13
2.1.3 字元型(char)................................ 13
2.1.4 布爾型(boolean).......................... 14
2.2 數據類型間的轉換........................ 14
2.2.1 自動轉換........................................... 14
2.2.2 強制轉換........................................... 15
2.2.3 隱含轉換........................................... 15
2.3 標識符的命名................................ 15
2.3.1 標識符的命名規則........................... 15
2.3.2 不好的標識符命名........................... 16
2.3.3 良好的標識符命名........................... 16
2.4 關鍵字............................................ 17
2.5 代碼注釋........................................ 18
2.5.1 行注釋............................................... 18
2.5.2 塊注釋............................................... 18
2.5.3 文檔注釋用戶自定義類型............... 19
2.6 綜合練習........................................ 20
2.7 小結................................................ 20
2.8 習題................................................ 20
第3 章 運算符( 教學視頻:56 分鐘) ...................... 21
3.1 算術運算符.................................... 21
3.1.1 “+”:加法運算符............................ 21
3.1.2 “-”:減法運算符........................... 22
3.1.3 “*”:乘法運算符............................. 23
3.1.4 “/”:除法運算符............................. 24
3.1.5 “%”:求余運算符........................... 25
3.2 自增自減運算符............................ 26
3.3 關係運算符.................................... 27
3.3.1 “==”、“!=”.................................... 28
3.3.2 “>”、“<”、“>=”、“<=”............... 29
3.4 邏輯運算符.................................... 30
3.4.1 “&&”:與運算符............................ 30
3.4.2 “||”:或運算符................................. 30
3.4.3 “!”:非運算符................................. 31
3.4.4 邏輯運算符總結............................... 32
3.5 三元運算符.................................... 32
3.6 位運算符........................................ 32
3.6.1 “&”:按位與運算符....................... 33
3.6.2 “|”:按位或運算符.......................... 34
3.6.3 “^”:按位異或運算符..................... 34
3.7 位移運算符.................................... 35
3.7.1 “>>”:帶符號右移運算符.............. 35
3.7.2 “<<”:帶符號左移運算符.............. 36
3.7.3 “>>>”:無符號右移運算符............ 36
3.8 賦值運算符.................................... 37
3.8.1 一般賦值運算符............................... 37
3.8.2 運算賦值運算符............................... 37
3.9 運算符之間的優先權.................... 38
21 天學通Java(第4 版)
3.10 綜合練習...................................... 39
3.11 小結.............................................. 40
3.12 習題.............................................. 40
第4 章 流程控制( 教學視頻:68 分鐘) ...................... 42
4.1 if 條件語句.................................... 42
4.1.1 if 語句的語法................................... 42
4.1.2 if 語句用法舉例............................... 42
4.2 switch 分支語句............................ 45
4.2.1 switch 分支語句的語法................... 45
4.2.2 switch 分支語句表達式的使用條件 ............... 46
4.2.3 switch 分支語句舉例....................... 49
4.3 while 循環語句.............................. 50
4.3.1 while 循環語句的語法..................... 51
4.3.2 while 循環語句舉例......................... 51
4.4 do...while 循環語句....................... 52
4.4.1 do...while 循環語句的語法.............. 52
4.4.2 do ... while 循環語句舉例................ 53
4.5 for 循環語句.................................. 54
4.5.1 for 循環語句的語法......................... 54
4.5.2 用for 循環來實現其他循環語句.... 55
4.5.3 for 循環語句的舉例......................... 56
4.6 如何中斷和繼續語句的執行........ 57
4.6.1 break:中斷語句執行...................... 57
4.6.2 continue:繼續語句執行................. 58
4.7 綜合練習........................................ 59
4.8 小結................................................ 60
4.9 習題................................................ 60
第5 章 數組( 教學視頻:57 分鐘) .................................. 62
5.1 如何創建數組................................ 62
5.1.1 創建數組........................................... 62
5.1.2 創建多維數組................................... 63
5.2 數組的初始化................................ 64
5.2.1 創建並初始數組元素....................... 64
5.2.2 循環初始化....................................... 66
5.3 數組操作的舉例............................ 67
5.3.1 數組元素值的複製........................... 67
5.3.2 數組元素的排序............................... 69
5.3.3 在數組裡查找指定元素................... 71
5.3.4 利用數組列印26 個英文字母......... 72
5.4 綜合練習........................................ 73
5.5 小結................................................ 74
5.6 習題................................................ 74
第二篇 面向對象篇
第6 章 類與對象( 教學視頻:85 分鐘) ........................ 76
6.1 什麼是面向對象............................ 76
6.1.1 面向對象編程的特點....................... 76
6.1.2 面向對象編程與面向過程編程的區別 .......... 77
6.2 什麼是類........................................ 77
6.2.1 類的定義和對象的創建................... 77
6.2.2 如何使用現有類............................... 79
6.2.3 類設計的技巧................................... 80
6.3 成員變數........................................ 81
6.3.1 成員變數的創建............................... 81
6.3.2 成員變數的初始化........................... 82
6.4 局部變數........................................ 85
6.4.1 局部變數的創建和初始化............... 85
6.4.2 局部變數和成員變數的區別........... 86
6.5 方法................................................ 86
6.5.1 方法的創建和參數........................... 86
6.5.2 方法參數的傳遞............................... 89
6.6 對象引用的使用............................ 90
6.6.1 調用不存在的對象或成員變數....... 90
6.6.2 調用對象為null 值的引用.............. 92
6.6.3 對象引用間的比較........................... 93
6.7 this.................................................. 94
6.8 要活用JDK 已有的類.................. 95
6.8.1 Date 類.............................................. 95
6.8.2 Integer 類.......................................... 97
6.9 綜合練習........................................ 98
6.10 小結.............................................. 99
6.11 習題.............................................. 99
第7 章 控制邏輯( 教學視頻:46 分鐘) ............. 100
7.1 包(package)............................. 100
7.1.1 創建包............................................. 100
7.1.2 如何使用包..................................... 101
21 天學通Java(第4 版)
7.1.3 什麼是靜態引入............................. 102
7.2 類的訪問級別.............................. 103
7.2.1 公開的訪問級別............................. 103
7.2.2 默認的訪問級別............................. 104
7.3 什麼是封裝.................................. 106
7.4 最終修飾符.................................. 107
7.4.1 final 修飾對象類型的成員變數.... 108
7.4.2 final 修飾基本類型的成員變數.... 109
7.4.3 final 修飾的局部變數.................... 112
7.4.4 final 修飾的方法............................ 113
7.5 靜態修飾符................................... 115
7.5.1 什麼是靜態變數............................. 115
7.5.2 靜態變數的訪問............................. 116
7.5.3 什麼是靜態常量............................. 119
7.6 綜合練習...................................... 120
7.7 小結.............................................. 121
7.8 習題.............................................. 121
第8 章 繼承( 教學視頻:87 分鐘) .................. 123
8.1 什麼是繼承.................................. 123
8.1.1 類的繼承......................................... 124
8.1.2 繼承的語法..................................... 127
8.2 修飾符.......................................... 128
8.2.1 public:聲明成員變數為公共類型 ........................ 128
8.2.2 private:聲明成員變數為私有類型 ........................ 129
8.2.3 default:聲明成員變數為默認類型 ........................ 130
8.2.4 protected:聲明成員變數為保護類型 ................... 131
8.3 成員變數的覆蓋.......................... 132
8.4 對象引用...................................... 133
8.5 方法的重寫和重載...................... 134
8.5.1 方法重寫的特點............................. 134
8.5.2 方法重載的特點............................. 136
8.5.3 重寫的返回類型............................. 139
8.5.4 重寫是基於繼承的......................... 141
8.5.5 靜態方法是不能重寫的................. 142
8.5.6 三者之間的關係............................. 144
8.5.7 重寫toString 方法.......................... 144
8.5.8 重寫equals 方法............................ 145
8.6 final 與繼承的關係..................... 147
8.7 abstract 與繼承的關係................ 148
8.8 什麼是多態.................................. 149
8.9 什麼是枚舉類.............................. 150
8.10 什麼是反射機制........................ 151
8.11 什麼是泛型................................ 152
8.12 綜合練習.................................... 154
8.13 小結............................................ 155
8.14 習題............................................ 155
第9 章 接口( 教學視頻:43 分鐘) ........... 156
9.1 什麼是接口.................................. 156
9.1.1 接口的定義..................................... 156
9.1.2 訪問接口裡的常量......................... 158
9.2 接口的使用.................................. 159
9.2.1 接口裡的方法如何創建................. 159
9.2.2 接口引用怎么使用......................... 160
9.3 什麼是抽象類.............................. 162
9.3.1 抽象類的使用和特點..................... 162
9.3.2 抽象類與接口區別......................... 165
9.4 接口的多態.................................. 165
9.5 判斷類型...................................... 167
9.5.1 什麼是instanceof........................... 167
9.5.2 使用instanceof 的注意事項.......... 170
9.6 綜合練習...................................... 171
9.7 小結.............................................. 171
9.8 習題.............................................. 171
第10 章 構造器( 教學視頻:64 分鐘)..... 172
10.1 什麼是構造器............................ 172
10.1.1 構造器的使用............................... 172
10.1.2 被修飾的構造器........................... 174
10.1.3 構造器方法與普通方法的區別... 177
10.2 如何實例化一個對象................ 178
10.3 構造器的使用............................ 180
10.3.1 構造器的調用............................... 180
10.3.2 構造器重載................................... 184
10.3.3 父子類間的構造器的調用流程... 186
10.3.4 如何自定義構造器....................... 188
10.4 什麼是單子模式........................ 190
10.5 構造器在程式中是何時運行的 193
10.6 綜合練習.................................... 196
10.7 小結............................................ 197
21 天學通Java(第4 版)
10.8 習題............................................ 197
第11 章 異常處理( 教學視頻:43 分鐘) ................. 199
11.1 異常處理基本介紹.................... 199
11.1.1 try 和catch 捕獲異常................... 199
11.1.2 try…catch 語句使用注意點......... 200
11.1.3 finally 語句的使用....................... 202
11.1.4 再談異常處理注意點................... 204
11.2 異常的分類................................ 205
11.2.1 捕獲異常....................................... 205
11.2.2 未捕獲異常................................... 207
11.3 拋出異常.................................... 207
11.3.1 拋出異常的簡單介紹................... 207
11.3.2 使用throws 和throw 語句拋出異常............... 208
11.4 自定義異常................................ 209
11.4.1 創建和使用自定義異常類........... 209
11.4.2 自定義異常的實際套用............... 210
11.5 綜合練習.................................... 213
11.6 小結............................................ 214
11.7 習題............................................ 214
第12 章 內部類( 教學視頻:67 分鐘) ................................................................ 215
12.1 非靜態內部類............................ 215
12.1.1 創建非靜態內部類....................... 215
12.1.2 在外部類中訪問內部類............... 216
12.1.3 在外部類外訪問內部類............... 217
12.1.4 在內部類中訪問外部類............... 218
12.2 局部內部類................................ 221
12.2.1 創建局部內部類........................... 221
12.2.2 在局部內部類中訪問外部類成員變數 .................. 222
12.2.3 在局部內部類中訪問外部類的局部變數 ............................. 222
12.2.4 靜態方法中的局部內部類........... 224
12.3 靜態內部類................................ 225
12.3.1 創建靜態內部類........................... 226
12.3.2 在外部類中訪問靜態內部類....... 226
12.3.3 在外部類外訪問靜態內部類....... 227
12.4 匿名內部類................................ 228
12.4.1 創建匿名內部類........................... 228
12.4.2 匿名內部類的初始化................... 230
12.5 綜合練習.................................... 231
12.6 小結............................................ 232
12.7 習題............................................ 232
第13 章 多執行緒( 教學視頻:41 分鐘) ................ 233
13.1 多執行緒簡介................................ 233
13.2 定義執行緒和創建執行緒對象........ 233
13.2.1 繼承Thread 類定義執行緒............. 233
13.2.2 實現Runnable 接口定義執行緒..... 234
13.3 運行執行緒.................................... 235
13.3.1 啟動執行緒....................................... 235
13.3.2 同時運行多個執行緒....................... 237
13.4 執行緒生命周期............................ 238
13.4.1 新建狀態....................................... 238
13.4.2 準備狀態....................................... 238
13.4.3 運行狀態....................................... 238
13.4.4 等待/阻塞狀態............................. 239
13.4.5 死亡狀態....................................... 239
13.5 執行緒的調度................................ 239
13.5.1 睡眠方法....................................... 239
13.5.2 執行緒優先權................................... 241
13.5.3 yield 讓步方法.............................. 242
13.5.4 join 讓步方法............................... 244
13.6 綜合練習.................................... 245
13.7 小結............................................ 246
13.8 習題............................................ 246
第三篇 套用篇
第14 章 Swing 桌面程式開發( 教學視頻:68 分鐘) .............. 249
14.1 開發第一個Swing 程式............ 249
14.2 JFrame 視窗類........................... 250
14.2.1 JFrame 視窗類簡介...................... 250
14.2.2 創建簡單窗體............................... 250
14.2.3 設定窗體....................................... 252
14.3 JPanel 面板類............................ 255
14.3.1 容器介紹....................................... 255
14.3.2 JPanel 面板類簡介....................... 255
14.3.3 創建面板....................................... 255
14.4 JLabel 標籤類............................ 256
14.4.1 JLabel 標籤類簡介....................... 256
21 天學通Java(第4 版)
14.4.2 創建標籤....................................... 257
14.5 JButton 按鈕類.......................... 258
14.5.1 JButton 按鈕類簡介..................... 258
14.5.2 創建按鈕....................................... 258
14.5.3 按鈕動作事件............................... 259
14.6 Swing 中的事件......................... 262
14.6.1 事件簡介....................................... 262
14.6.2 同一個事件源註冊多個監聽器... 262
14.6.3 同一個監聽器註冊給多個事件源 ............................ 263
14.6.4 窗體獲取和失去焦點事件........... 265
14.6.5 窗體打開、關閉和激活事件....... 266
14.7 綜合練習.................................... 268
14.8 小結............................................ 270
14.9 習題............................................ 270
第15 章 嵌入式系統開發概述( 教學視頻:52 分鐘) ................. 272
15.1 流布局........................................ 272
15.1.1 流布局介紹................................... 272
15.1.2 使用流布局................................... 273
15.2 格線布局.................................... 275
15.2.1 格線布局介紹............................... 275
15.2.2 使用格線布局............................... 275
15.3 框線布局.................................... 277
15.3.1 框線布局介紹............................... 278
15.3.2 使用框線布局............................... 278
15.4 空布局........................................ 279
15.4.1 空布局介紹................................... 280
15.4.2 使用空布局................................... 280
15.5 卡片布局.................................... 281
15.5.1 卡片布局介紹............................... 281
15.5.2 使用卡片布局............................... 282
15.6 綜合練習.................................... 283
15.7 小結............................................ 286
15.8 習題............................................ 286
第16 章 Swing 常用控制項( 教學視頻:50 分鐘) ............... 287
16.1 文本框及密碼框和多行文本框 287
16.1.1 創建文本框................................... 287
16.1.2 創建密碼框................................... 288
16.1.3 創建多行文本框........................... 290
16.2 複選框和單選按鈕.................... 291
16.2.1 創建單選按鈕............................... 291
16.2.2 創建複選框................................... 294
16.3 選項卡........................................ 295
16.3.1 選項卡介紹................................... 296
16.3.2 創建選項卡................................... 296
16.4 分隔窗格.................................... 298
16.4.1 分隔窗格介紹............................... 298
16.4.2 創建分隔窗格............................... 299
16.5 滑塊和進度條............................ 300
16.5.1 創建滑塊....................................... 300
16.5.2 創建進度條................................... 302
16.6 列表框........................................ 304
16.6.1 列表框介紹................................... 305
16.6.2 創建列表框................................... 305
16.6.3 下拉列表框................................... 307
16.7 選單............................................ 309
16.7.1 選單介紹....................................... 309
16.7.2 創建選單....................................... 310
16.7.3 創建彈出式選單........................... 311
16.8 綜合練習.................................... 312
16.9 小結............................................ 314
16.10 習題.......................................... 314
第17 章 JDBC 資料庫編程( 教學視頻:40 分鐘) .................... 316
17.1 資料庫基本介紹........................ 316
17.1.1 資料庫介紹................................... 316
17.1.2 資料庫套用架構........................... 316
17.1.3 資料庫模型................................... 317
17.2 JDBC 資料庫編程介紹............. 317
17.2.1 JDBC 和ODBC 的關係............... 318
17.2.2 為什麼使用JDBC 資料庫編程... 318
17.3 SQL 資料庫操作技術............... 318
17.3.1 什麼是SQL.................................. 319
17.3.2 如何進行SQL 操作..................... 319
17.4 創建資料庫................................ 320
17.4.1 創建Access 資料庫..................... 320
17.4.2 創建SQL Server 資料庫.............. 320
17.5 JDBC 編程步驟......................... 323
17.5.1 創建數據源................................... 323
17.5.2 載入驅動程式............................... 325
21 天學通Java(第4 版)
17.5.3 建立資料庫連線........................... 326
17.5.4 進行資料庫操作........................... 326
17.5.5 獲取資料庫中信息....................... 327
17.5.6 JDBC 資料庫編程實例................ 328
17.6 事務處理.................................... 329
17.6.1 事務介紹....................................... 329
17.6.2 進行事務操作............................... 330
17.7 綜合練習.................................... 332
17.8 小結............................................ 332
17.9 習題............................................ 332
第18 章 Java 中輸入/輸出流( 教學視頻:33 分鐘) ......................... 334
18.1 I/O 流簡介.................................. 334
18.1.1 什麼是I/O 流............................... 334
18.1.2 節點流與處理流........................... 334
18.1.3 位元組流與字元流........................... 335
18.1.4 抽象基類....................................... 335
18.2 使用流進行檔案操作................ 337
18.2.1 使用File 類進行檔案與目錄操作 .................... 337
18.2.2 FileInputStream 類與FileOutputStream 類 ..................... 340
18.2.3 FileReader 類與FileWriter 類...... 343
18.3 綜合練習.................................... 345
18.4 小結............................................ 345
18.5 習題............................................ 345
第19 章 集合框架( 教學視頻:55 分鐘) .............. 347
19.1 集合框架總論............................ 347
19.1.1 什麼是集合框架........................... 347
19.1.2 Collection 接口............................. 347
19.2 列表............................................ 348
19.2.1 List 列表接口............................... 348
19.2.2 Vector 類....................................... 349
19.2.3 ArrayList 類.................................. 352
19.2.4 LinkedList 類................................ 355
19.3 集合............................................ 357
19.3.1 Set 接口........................................ 358
19.3.2 SortedSet 接口.............................. 359
19.3.3 TreeSet 類..................................... 359
19.3.4 HashSet 類.................................... 361
19.4 映射............................................ 362
19.4.1 Map 接口...................................... 362
19.4.2 HashMap 類.................................. 363
19.4.3 TreeMap 類................................... 366
19.5 綜合練習.................................... 367
19.6 小結............................................ 368
19.7 習題............................................ 368
第20 章 網路編程( 教學視頻:32 分鐘) ................ 370
20.1 網路編程基礎............................ 370
20.1.1 TCP/IP 協定.................................. 370
20.1.2 網路編程模型............................... 370
20.1.3 網路傳輸協定............................... 371
20.1.4 連線埠和套接字............................... 371
20.2 基於TCP/IP 協定的網路編程.. 371
20.2.1 Socket 套接字............................... 372
20.2.2 ServerSocket 類............................ 372
20.2.3 Socket 類....................................... 373
20.2.4 網路編程C/S 架構實例............... 374
20.3 綜合練習.................................... 377
20.4 小結............................................ 379
20.5 習題............................................ 379
第四篇 綜合案例篇
第21 章 學生管理系統( 教學視頻:26 分鐘) ......................... 380
21.1 系統設計.................................... 380
21.2 資料庫設計................................ 380
21.3 登錄界面開發............................ 380
21.3.1 界面設計....................................... 381
21.3.2 程式開發....................................... 381
21.4 學生界面開發............................ 382
21.4.1 界面設計....................................... 383
21.4.2 程式開發....................................... 383
21.4.3 開發插入學生界面....................... 384
21.4.4 查詢學生信息界面....................... 386
21.4.5 查詢成績信息............................... 389
21.5 綜合練習.................................... 392
21.6 小結............................................ 392