宣傳語
基礎知識核心技術典型實例綜合練習項目案例
307個典型實例、1個項目案例、246個練習題
一線開發人員全程貼心講解,上手毫不費力
20小時多媒體語音視頻教學
本書原始碼 + 本書電子教案(PPT)
1000餘頁編程參考寶典電子書(免費贈送)
內容提要
21天學通Java是Java語言的入門教程,由淺入深,循序漸進地講授如何使用Java語言進行程式開發。全書內容包括Java開發環境、Java基本語法知識、Java面向對象特點、Java界面開發,以及Java資料庫開發和網路編程開發。為了便於讀者學習,本書最後一章對一個完整學生管理系統進行了分析。具體講解了學生模組和老師模組,以及其他各個模組的功能分析。
本書旨在為Java語言的初學者和大中專學生提供易於入門,便於全面了解和掌握Java編程技術的教輔資料,同時對有一定經驗的Java編程者和學習者也有一定的參考價值。
本書附贈DVD光碟1張,內容包括超大容量手把手視頻、電子教案(PPT)、編程參考寶典電子書、原始碼及各章習題答案。
本 書 特 點
千里之行,始於足下!
——老子
為什麼要寫這樣一本書
作為一個初學Java編程的人,最重要的第一步是什麼呢?毫無疑問,是選擇一本好書。雖然書店中講解Java基礎的書已經有很多了,但是卻很難找到適合初學者使用的一本。很多書中都有許多複雜難記的語法和概念,這些常是最容易使Java初學者放棄的地方,就像有一堵無形的牆立在面前而使他們無法逾越。
為了讓那些Java初學人員少走彎路,快速而輕鬆地學會Java編程,筆者決定總結自己學習Java的經驗,並結合多年的開發經驗,編寫一本能夠真正讓Java初學人員容易掌握的書。在這本書中,筆者將通過21天的學習規劃,幫助讀者快速掌握Java編程的基本知識,為以後進行Java開發打下基礎。
本書有何特色
1.細緻體貼的講解
為了讓讀者更快地上手,本書特別設計了適合初學者的學習方式,用準確的語言總結概念#用直觀的圖示演示過程#用詳細的注釋解釋代碼#用形象的比方幫助記憶。效果如下:
1)知識點介紹 準確、清晰是其顯著特點,一般放在每一節開始位置,讓零基礎的讀者了解相關概念,順利入門。
2)範例 書中出現的完整實例,以章節順序編號,便於檢索和循序漸進地學習、實踐,放在每節知識點介紹之後。
3)範例代碼 與範例編號對應,層次清楚、語句簡潔、注釋豐富,體現了代碼優美的原則,有利於讀者養成良好的代碼編寫習慣。對於大段程式,均在每行代碼前設定編號便於學習。
4)運行結果 對範例給出運行結果和對應圖示,幫助讀者更直觀地理解範例代碼。
5)代碼解析 將範例代碼中的關鍵代碼行逐一解釋,有助於讀者掌握相關概念和知識。
6綜合練習 為了便於讀者鞏固所學內容,本書每章中均提供了綜合練習,並給出了操作提示和結果,配合讀者自己動手實踐。
7)習題 每章最後提供專門的測試習題,供讀者檢驗所學知識是否牢固掌握,題目的提示或答案放在光碟中。
8)貼心的提示 為了便於讀者閱讀,全書還穿插著一些技巧、提示等小貼士,體例約定如下:
— 提示:通常是一些貼心的提醒,讓讀者加深印象或提供建議,或者解決問題的方法。
— 注意:提出學習過程中需要特別注意的一些知識點和內容,或者相關信息。
— 警告:對操作不當或理解偏差將會造成的災難性後果做警示,以加深讀者印象。
經作者多年的培訓和授課證明,以上講解方式是最適合初學者學習的方式,讀者按照這種方式,會非常輕鬆、順利地掌握本書知識。
2.實用超值的DVD光碟
為了幫助讀者比較直觀地學習,本書附贈DVD光碟,內容包括多媒體視頻、電子教案(PPT)、編程參考寶典電子書、各章習題答案和實例原始碼等。
多媒體視頻
贈送1GB,長達20小時手把手教學視頻,講解關鍵知識點界面操作和書中的一些綜合練習題。作者親自配音、演示,手把手教會讀者使用。
電子教案(PPT)
本書可以作為高校相關課程的教材或課外輔導書,所以筆者特別為本書製作了電子教案(PPT),以方便老師教學使用。
編程參考寶典電子書
為方便廣大讀者學習,特別製作了編程開發參考電子書,供讀者查閱和參考。
3.提供完善的技術支持
讀者可以在上面提問交流。另外,論壇上還有一些小的教程、視頻動畫和各種技術文章,可幫助讀者提高開發水平。
4.豐富的額外素材下載
相關的開發素材檔案。
推薦的學習計畫
本書作者在長期從事相關培訓或教學實踐過程中,歸納了最適合初學者的學習模式,並參考了多位專家的意見,為讀者總結了合理的學習時間分配方式,
本書適合哪些讀者閱讀
本書非常適合以下人員閱讀。
— 從未接觸過Java編程的自學人員;
— 了解一些Java,但還需要進一步學習的人員;
— 各大中專院校的在校學生和相關授課老師;
— 其他編程愛好者。
本書作者
2009年1月
目錄
第一篇 基礎篇
第1章 Java簡介(精彩視頻:33分鐘) 21
1.1 Java的平台簡介 21
1.2 安裝工具包 22
1.2.1 下載JDK 22
1.2.2 安裝JDK 24
1.2.3 查看與設定環境變數 25
1.2.4 JDK常用命令 27
1.2.5 Java各個目錄含義 28
1.2.6 要善於使用JDK的幫助檔案 28
1.3 程式開發過程 29
1.4 編碼規範 29
1.5 HelloWorld:第一個Java程式 30
1.5.1 編寫程式代碼 30
1.5.2 編譯程式代碼並運行 30
1.5.3 注意事項 31
1.6 使用Eclipse集成開發工具開發 32
1.7 綜合練習 32
1.8 小結 33
1.9 習題 33
第2章 Java的基本數據類型(精彩視頻:38分鐘) 34
2.1 數據類型 34
2.1.1 整型 34
2.1.2 浮點型 35
2.1.3 字元型(char) 36
2.1.4 布爾型(boolean) 36
2.2 數據類型間的轉換 36
2.2.1 自動轉換 36
2.2.2 強制轉換 37
2.2.3 隱含轉換 37
2.3 標識符的命名 38
2.3.1 標識符的命名規則 38
2.3.2 代碼演示如何定義標識符 38
2.3.3 不好的標識符命名 38
2.3.4 良好的標識符命名 39
2.4 關鍵字 39
2.5 代碼注釋 40
2.5.1 行注釋 40
2.5.2 塊注釋 41
2.5.3 文檔注釋用戶自定義類型 41
2.6 綜合練習 43
2.7 小結 43
2.8 習題 43
第3章 運算符(精彩視頻:43分鐘) 45
3.1 算術運算符 45
3.1.1 “+”:加法運算符 45
3.1.2 “-”:減法運算符 46
3.1.3 “*”:乘法運算符 47
3.1.4 “/”:除法運算符 48
3.1.5 “%”:求余運算符 48
3.2 自增自減運算符 49
3.3 關係運算符 51
3.3.1 “==”、“!=” 51
3.3.2 “>”、“<”、“>=”、“<=” 52
3.4 邏輯運算符 53
3.4.1 “&&”:與運算符 53
3.4.2 “||”:或運算符 53
3.4.3 “!”:非運算符 54
3.4.4 邏輯運算符總結 54
3.5 三元運算符 55
3.6 位運算符 55
3.6.1 “&”:按位與運算符 56
3.6.2 “|”:按位或運算符 56
3.6.3 “^”:按位異或運算符 57
3.7 位移運算符 57
3.7.1 “>>”:帶符號右移運算符 58
3.7.2 “<<”:帶符號左移運算符 58
3.7.3 “>>>”:無符號右移運算符 58
3.8 賦值運算符 59
3.8.1 一般賦值運算符 59
3.8.2 運算賦值運算符 59
3.9 運算符之間的優先權 60
3.10 綜合練習 61
3.11 小結 62
3.12 習題 62
第4章 流程控制(精彩視頻:58分鐘) 64
4.1 if條件語句 64
4.1.1 if語句的語法 64
4.1.2 if語句用法舉例 64
4.2 switch分支語句 67
4.2.1 switch分支語句的語法 67
4.2.2 switch分支語句表達式的使用條件 68
4.2.3 switch分支語句舉例 70
4.3 while循環語句 72
4.3.1 while循環語句的語法 72
4.3.2 while循環語句舉例 73
4.4 do...while循環語句 73
4.4.1 do...while循環語句的語法 74
4.4.2 do ... while循環語句舉例 74
4.5 for循環語句 75
4.5.1 for循環語句的語法 75
4.5.2 用for循環來實現其他循環語句 76
4.5.3 for循環語句的舉例 77
4.6 如何中斷和繼續語句的執行 78
4.6.1 break:中斷語句執行 78
4.6.2 continue:繼續語句執行 79
4.7 綜合練習 79
4.8 小結 80
4.9 習題 81
第5章 數組(精彩視頻:52分鐘) 83
5.1 如何創建數組 83
5.1.1 創建數組 83
5.1.2 創建多維數組 84
5.2 數組的初始化 85
5.2.1 創建並初始數組元素 85
5.2.2 循環初始化 87
5.3 數組操作的舉例 88
5.3.1 數組元素值的複製 88
5.3.2 數組元素的排序 90
5.3.3 在數組裡查找指定元素 91
5.3.4 利用數組列印26個英文字母 92
5.4 綜合練習 93
5.5 小結 94
5.6 習題 94
第二篇 面向對象篇
第6章 類與對象(精彩視頻:48分鐘) 96
6.1 什麼是面向對象 96
6.1.1 面向對象編程的特點 96
6.1.2 面向對象編程與面向過程編程的區別 97
6.2 什麼是類 97
6.2.1 類的定義和對象的創建 97
6.2.2 如何使用現有類 99
6.2.3 類設計的技巧 100
6.3 成員變數 101
6.3.1 成員變數的創建 101
6.3.2 成員變數的初始化 102
6.4 局部變數 105
6.4.1 局部變數的創建和初始化 105
6.4.2 局部變數和成員變數的區別 106
6.5 方法 106
6.5.1 方法的創建和參數 106
6.5.2 方法參數的傳遞 108
6.6 對象引用的使用 110
6.6.1 調用不存在的對象或成員變數 110
6.6.2 調用對象為null值的引用 111
6.6.3 對象引用間的比較 113
6.7 this 113
6.8 要活用JDK已有的類 114
6.8.1 Date類 114
6.8.2 Integer類 116
6.9 綜合練習 117
6.10 小結 118
6.11 習題 118
第7章 控制邏輯(精彩視頻:50分鐘) 120
7.1 包(package) 120
7.1.1 創建一個包 120
7.1.2 如何使用包 121
7.1.3 什麼是靜態引入 122
7.2 類的訪問級別 123
7.2.1 公開的訪問級別 123
7.2.2 默認的訪問級別 124
7.3 什麼是封裝 125
7.4 最終修飾符 127
7.4.1 final修飾對象類型的成員變數 127
7.4.2 final修飾基本類型的成員變數 129
7.4.3 final修飾的局部變數 131
7.4.4 final修飾的方法 132
7.5 靜態修飾符 134
7.5.1 什麼是靜態變數 134
7.5.2 靜態變數的訪問 135
7.5.3 什麼是靜態常量 137
7.6 綜合練習 139
7.7 小結 140
7.8 習題 140
第8章 繼承(精彩視頻:72分鐘) 141
8.1 什麼是繼承 141
8.1.1 類的繼承 142
8.1.2 繼承的語法 145
8.2 修飾符 146
8.2.1 public:聲明成員變數為公共類型 146
8.2.2 private:聲明成員變數為私有類型 147
8.2.3 default:聲明成員變數為默認類型 148
8.2.4 protected:聲明成員變數為保護類型 149
8.3 成員變數的覆蓋 150
8.4 對象引用 151
8.5 方法的重寫和重載 152
8.5.1 方法重寫的特點 152
8.5.2 方法重載的特點 154
8.5.3 重寫的返回類型 156
8.5.4 重寫是基於繼承的 158
8.5.5 靜態方法是不能重寫的 159
8.5.6 三者之間的關係 161
8.5.7 重寫toString方法 162
8.5.8 重寫equals方法 163
8.6 final與繼承的關係 164
8.7 abstract與繼承的關係 165
8.8 什麼是多態 166
8.9 什麼是枚舉類 168
8.10 什麼是反射機制 169
8.11 什麼是泛型 170
8.12 綜合練習 172
8.13 小結 172
8.14 習題 172
第9章 接口(精彩視頻:47分鐘) 174
9.1 什麼是接口 174
9.1.1 接口的定義 174
9.1.2 訪問接口裡的常量 176
9.2 接口的使用 177
9.2.1 接口裡的方法如何創建 177
9.2.2 接口引用怎么使用 178
9.3 什麼是抽象類 180
9.3.1 抽象類的使用和特點 180
9.3.2 抽象類與接口區別 183
9.4 接口的多態 183
9.5 判斷類型 185
9.5.1 什麼是instanceof 185
9.5.2 使用instanceof的注意事項 188
9.6 綜合練習 189
9.7 小結 189
9.8 習題 189
第10章 構造器(精彩視頻:46分鐘) 191
10.1 什麼是構造器 191
10.1.1 構造器的使用 191
10.1.2 被修飾的構造器 193
10.1.3 構造器方法與普通方法的區別 196
10.2 如何實例化一個對象 197
10.3 構造器的使用 199
10.3.1 構造器的調用 199
10.3.2 構造器重載 202
10.3.3 父子類間的構造器的調用流程 204
10.3.4 如何自定義構造器 207
10.4 什麼是單子模式 208
10.5 構造器在程式中是何時運行的 211
10.6 綜合練習 214
10.7 小結 215
10.8 習題 215
第11章 異常處理(精彩視頻:60分鐘) 217
11.1 異常處理基本介紹 217
11.1.1 try和catch捕獲異常 217
11.1.2 try-catch語句使用注意點 218
11.1.3 finally語句的使用 220
11.1.4 再談異常處理注意點 222
11.2 異常的分類 223
11.2.1 捕獲異常 223
11.2.2 未捕獲異常 225
11.3 拋出異常 225
11.3.1 拋出異常的簡單介紹 225
11.3.2 使用throws和throw語句拋出異常 227
11.4 自定義異常 227
11.4.1 創建和使用自定義異常類 227
11.4.2 自定義異常的實際套用 228
11.5 綜合練習 231
11.6 小結 232
11.7 習題 232
第12章 內部類(精彩視頻:71分鐘) 234
12.1 非靜態內部類 234
12.1.1 創建非靜態內部類 234
12.1.2 在外部類中訪問內部類 235
12.1.3 在外部類外訪問內部類 236
12.1.4 在內部類中訪問外部類 237
12.2 局部內部類 240
12.2.1 創建局部內部類 240
12.2.2 在局部內部類中訪問外部類成員變數 240
12.2.3 在局部內部類中訪問外部類的局部變數 241
12.2.4 靜態方法中的局部內部類 243
12.3 靜態內部類 244
12.3.1 創建靜態內部類 244
12.3.2 在外部類中訪問靜態內部類 245
12.3.3 在外部類外訪問靜態內部類 246
12.4 匿名內部類 247
12.4.1 創建匿名內部類 247
12.4.2 匿名內部類的初始化 249
12.5 綜合練習 250
12.6 小結 250
12.7 習題 250
第13章 多執行緒(精彩視頻:55分鐘) 252
13.1 多執行緒簡介 252
13.2 定義執行緒和創建執行緒對象 252
13.2.1 繼承Thread類定義執行緒 252
13.2.2 實現Runnable接口定義執行緒 253
13.3 運行執行緒 254
13.3.1 啟動執行緒 254
13.3.2 同時運行多個執行緒 256
13.4 執行緒生命周期 257
13.4.1 新建狀態 257
13.4.2 準備狀態 257
13.4.3 運行狀態 257
13.4.4 等待/阻塞狀態 258
13.4.5 死亡狀態 258
13.5 執行緒的調度 258
13.5.1 睡眠方法 258
13.5.2 執行緒優先權 260
13.5.3 yield讓步方法 261
13.5.4 join讓步方法 262
13.6 綜合練習 264
13.7 小結 265
13.8 習題 265
第三篇 套用篇
第14章 Swing桌面程式開發(精彩視頻:70分鐘) 268
14.1 開發第一個Swing程式 268
14.2 JFrame視窗類 269
14.2.1 JFrame視窗類簡介 269
14.2.2 創建簡單窗體 269
14.2.3 設定窗體 271
14.3 JPanel面板類 273
14.3.1 容器介紹 273
14.3.2 JPanel面板類簡介 274
14.3.3 創建面板 274
14.4 JLabel標籤類 275
14.4.1 JLabel標籤類簡介 275
14.4.2 創建標籤 276
14.5 JButton按鈕類 276
14.5.1 JButton按鈕類簡介 277
14.5.2 創建按鈕 277
14.5.3 按鈕動作事件 278
14.6 Swing中的事件 280
14.6.1 事件簡介 280
14.6.2 同一個事件源註冊多個監聽器 280
14.6.3 同一個監聽器註冊給多個事件源 282
14.6.4 窗體獲取和失去焦點事件 283
14.6.5 窗體打開、關閉和激活事件 284
14.7 綜合練習 286
14.8 小結 288
14.9 習題 288
第15章 布局管理器(精彩視頻:62分鐘) 290
15.1 流布局 290
15.1.1 流布局介紹 290
15.1.2 使用流布局 291
15.2 格線布局 293
15.2.1 格線布局介紹 293
15.2.2 使用格線布局 293
15.3 框線布局 295
15.3.1 框線布局介紹 296
15.3.2 使用框線布局 296
15.4 空布局 298
15.4.1 空布局介紹 298
15.4.2 使用空布局 298
15.5 卡片布局 299
15.5.1 卡片布局介紹 299
15.5.2 使用卡片布局 300
15.6 綜合練習 302
15.7 小結 304
15.8 習題 304
第16章 Swing常用控制項(精彩視頻:90分鐘) 306
16.1 文本框及密碼框和多行文本框 306
16.1.1 創建文本框 306
16.1.2 創建密碼框 307
16.1.3 創建多行文本框 309
16.2 複選框和單選按鈕 310
16.2.1 創建單選按鈕 310
16.2.2 創建複選框 313
16.3 選項卡 315
16.3.1 選項卡介紹 315
16.3.2 創建選項卡 315
16.4 分隔窗格 317
16.4.1 分隔窗格介紹 317
16.4.2 創建分隔窗格 317
16.5 滑塊和進度條 319
16.5.1 創建滑塊 319
16.5.2 創建進度條 320
16.6 列表框 323
16.6.1 列表框介紹 323
16.6.2 創建列表框 324
16.6.3 下拉列表框 326
16.7 選單 328
16.7.1 選單介紹 328
16.7.2 創建選單 329
16.7.3 創建彈出式選單 330
16.8 綜合練習 330
16.9 小結 332
16.10 習題 333
第17章 JDBC資料庫編程(精彩視頻:63分鐘) 335
17.1 資料庫基本介紹 335
17.1.1 資料庫介紹 335
17.1.2 資料庫套用架構 335
17.1.3 資料庫模型 336
17.2 JDBC資料庫編程介紹 336
17.2.1 JDBC和ODBC的關係 337
17.2.2 為什麼使用JDBC資料庫編程 337
17.3 SQL資料庫操作技術 338
17.3.1 什麼是SQL 338
17.3.2 如何進行SQL操作 338
17.4 創建資料庫 339
17.4.1 創建Access資料庫 339
17.4.2 創建SQL Server資料庫 339
17.5 JDBC編程步驟 342
17.5.1 創建數據源 342
17.5.2 載入驅動程式 344
17.5.3 建立資料庫連線 345
17.5.4 進行資料庫操作 345
17.5.5 獲取資料庫中信息 346
17.5.6 JDBC資料庫編程實例 347
17.6 事務處理 348
17.6.1 事務介紹 348
17.6.2 進行事務操作 349
17.7 綜合練習 351
17.8 小結 352
17.9 習題 352
第18章 Java中輸入/輸出流(精彩視頻:55分鐘) 353
18.1 I/O流簡介 353
18.1.1 什麼是I/O流 353
18.1.2 節點流與處理流 353
18.1.3 位元組流與字元流 354
18.1.4 抽象基類 354
18.2 使用流進行檔案操作 356
18.2.1 使用File類進行檔案與目錄操作 356
18.2.2 FileInputStream類與FileOutputStream類 359
18.2.3 FileReader類與FileWriter類 362
18.3 綜合練習 364
18.4 小結 364
18.5 習題 364
第19章 集合框架(精彩視頻:65分鐘) 366
19.1 集合框架總論 366
19.1.1 什麼是集合框架 366
19.1.2 Collection接口 366
19.2 列表 367
19.2.1 List列表接口 367
19.2.2 Vector類 368
19.2.3 ArrayList類 371
19.2.4 LinkedList類 373
19.3 集合 376
19.3.1 Set接口 376
19.3.2 SortedSet接口 377
19.3.3 TreeSet類 378
19.3.4 HashSet類 380
19.4 映射 381
19.4.1 Map接口 381
19.4.2 HashMap類 382
19.4.3 TreeMap類 384
19.5 綜合練習 385
19.6 小結 386
19.7 習題 387
第20章 網路編程(精彩視頻:58分鐘) 389
20.1 網路編程基礎 389
20.1.1 TCP/IP協定 389
20.1.2 網路編程模型 389
20.1.3 網路傳輸協定 390
20.1.4 連線埠和套接字 390
20.2 基於TCP/IP協定的網路編程 391
20.2.1 Socket套接字 391
20.2.2 ServerSocket類 391
20.2.3 Socket類 392
20.2.4 網路編程C/S架構實例 393
20.3 綜合練習 396
20.4 小結 398
20.5 習題 398
第四篇 綜合案例篇
第21章 學生管理系統(精彩視頻:54分鐘) 399
21.1 系統設計 399
21.2 資料庫設計 399
21.3 登錄界面開發 400
21.3.1 界面設計 400
21.3.2 程式開發 400
21.4 學生界面開發 402
21.4.1 界面設計 402
21.4.2 程式開發 402
21.4.3 開發插入學生界面 403
21.4.4 查詢學生信息界面 406
21.4.5 查詢成績信息 409
21.5 綜合練習 412
21.6 小結 413