圖書簡介
本書以基礎知識為框架,介紹了各部分知識所對應的常用開發實例,並進行透徹解析。本書內容包括Java語言概述、Eclipse開發工具、Java語言基礎、流程控制、數組及其常用操作、面向對象入門、面向對象進階、字元串與包裝類、Java集合類框架、常用數學工具類、錯誤處理、輸入/輸出、枚舉類型與泛型、Swing入門、多執行緒、網路通信和資料庫操作。
本書所精選的實例都是一線開發人員在實際項目中所積累的,並進行了技術上的解析,給出了詳細的實現過程。讀者通過對本書的學習,能夠提高開發的能力。
本書提供了大量的源程式、素材,提供了相關的模組庫、案例庫、素材庫、題庫等多種形式輔助學習資料,還提供迅速及時的微博、QQ、論壇等技術支持。
本書內容詳盡,實例豐富,非常適合作為零基礎學習人員的學習用書和大中專院校師生的學習教材,也適合作為相關培訓機構的師生和軟體開發人員的參考資料。
前言
學會站在巨人的肩膀上!
軟體開發的終極目標是滿足用戶需求,一個軟體往往包含複雜的功能,作為一名程式設計師,需要在有限的時間內實現它們。對於一名新手,顯然並不容易。為何有開發經驗的程式設計師編程效率非常高?答案就是他們做過類似的程式,通過適當的修改以前的代碼就可以滿足現在的要求。因此如何快速加強編程經驗的積累就成了新手的當務之急。顯然,單單依靠項目來積累速度是非常慢的。
本書圖文並茂、難易並舉,匯集了300個日常開發中廣泛使用的實例,內容涵蓋了Java SE編程的方方面面,每個實例分成實例說明、實現過程和技術要點3部分進行講解。通過對本書的學習,不但能快速掌握相關知識點,還能逐步提升編程能力。
本書內容
本書以基礎知識結構為框架,給出了每部分知識中可能遇到的疑難問題或者是開發技巧。本書共17章,主要包括Java語言概述、Eclipse開發工具、Java語言基礎、流程控制、數組及其常用操作、面向對象入門、面向對象進階、字元串與包裝類、Java集合類框架、常用數學工具類、錯誤處理、輸入/輸出、枚舉類型與泛型、Swing入門、多執行緒、網路通信和資料庫操作。
為了更清晰地闡述問題和給出問題的解決方案,本書設定了以下欄目:
* 實例說明:詳細描述本實例的用途,並給出實例的運行效果截圖。
* 實現過程:逐步講解如何解決本實例的問題,並給出關鍵代碼、注意事項等。
* 技術要點:對本實例使用的關鍵技術進行總結,方便日後使用。
本書特色
* 貼近套用。本書精選的實例都是真正來自開發一線。以實例的形式來進行講解,使其更容易被讀者接受。
* 橫向連結。本書知識框架與《Java開發入門及項目實戰》一書相對應,可以在使用《Java開發入門及項目實戰》一書進行基礎學習之後,再用本書豐富並提高技能。
* 解析透徹。本書對每個問題的相關知識進行細緻地講解,並進行知識拓展,使讀者不僅知其然,而且知其所以然。
* 授人以漁。本書在講解技術的同時,還注重對讀者能力的培養,使讀者掌握分析問題與解決問題的能力。
本書配套資源
本書提供了內容豐富的配套資源,包括源程式、素材,以及模組庫、案例庫、題庫、素材庫等多項輔助內容,讀者朋友可以通過如下方式獲取。
第1種方式:
(1)登錄清華大學出版社的網站,在網頁右上角的搜尋文本框中輸入本書書名(注意區分大小寫和留出空格),或者輸入本書關鍵字,或者輸入本書ISBN號(注意去掉ISBN號間隔線“-”),單擊“搜尋”按鈕。
(2)找到本書後單擊超連結,在該書的網頁下側單擊“網路資源”超連結,即可下載。
第2種方式:
訪問本書的新浪微博Javamrbook,找到配套資源的連結地址進行下載。
讀者人群
本書非常適合以下人員閱讀:
? 從事Java語言編程行業的開發人員
? 有一定語言基礎,想進一步提高技能的人員
? 大中專院校的老師和學生
? 即將走向工作崗位的大學畢業生
? 相關培訓機構的老師和學員
? Java語言編程愛好者
目錄
第1章 Java語言概述 1
實例001 輸出“Hello World” 2
實例002 輸出控制台傳遞的參數 2
實例003 輸出由“*”組成的三角形 3
實例004 輸出符號表情 5
第2章 Eclipse開發工具 6
實例005 下載並運行Eclipse工具 7
實例006 為Eclipse安裝漢化包 8
實例007 使用Eclipse注釋代碼 10
實例008 使用Eclipse格式化代碼 11
實例009 安裝WindowBuilder外掛程式 12
實例010 開發計算器界面 14
第3章 Java語言基礎 15
實例011 輸出錯誤信息與調試信息 16
實例012 從控制台接收輸入字元 16
實例013 重定向輸出流實現程式日誌 17
實例014 自動類型轉換與強制類型轉換 19
實例015 加密可以這樣簡單(位運算) 20
實例016 用三元運算符判斷奇數和偶數 21
實例017 不用乘法運算符實現2×16 22
實例018 實現兩個變數的互換
(不藉助第3個變數) 23
第4章 流程控制 25
實例019 判斷某一年是否為閏年 26
實例020 驗證登錄信息的合法性 27
實例021 為新員工分配部門 28
實例022 用switch語句根據消費
金額計算折扣 29
實例023 判斷用戶輸入月份的季節 31
實例024 使用while循環語句與自增
運算符循環遍歷數組 33
實例025 使用for循環輸出楊輝三角形 34
實例026 使用嵌套循環在控制台上
輸出九九乘法表 35
實例027 使用while循環計算1+
1/2!+1/3!…1/20! 36
實例028 使用for循環輸出空心的菱形 38
實例029 終止循環體 39
實例030 循環體的過濾器 41
第5章 數組及其常用操作 43
實例031 獲取一維數組的最小值 44
實例032 將二維數組中的行列互換 45
實例033 利用數組隨機抽取幸運觀眾 47
實例034 用數組設定JTable表格的
列名與列寬 49
實例035 使用按鈕控制項數組實現
計算器界面 51
實例036 通過複選框控制項數組實現
添加多個複選框控制項 52
實例037 使用選擇排序法對數組排序 53
實例038 使用冒泡排序法對數組排序 55
實例039 使用快速排序法對數組排序 57
實例040 使用直接插入法對數組排序 59
實例041 使用sort()方法對數組排序 61
實例042 反轉數組中元素的順序 63
第6章 面向對象入門 65
實例043 自定義圖書類 66
實例044 溫度單位轉換工具 67
實例045 成員變數的默認初始化值 68
實例046 單例模式的套用 69
實例047 漢諾塔問題求解 70
實例048 編寫同名的方法 71
實例049 構造方法的套用 72
實例050 統計圖書的銷售量 73
實例051 兩隻完全相同的寵物 74
實例052 重新計算對象的哈希碼 76
實例053 使用字元串輸出對象 77
實例054 Java對象的假克隆 78
實例055 Java對象的淺克隆 80
實例056 Java對象的深克隆 82
實例057 序列化與對象克隆 84
實例058 深克隆效率的比較 87
第7章 面向對象進階 89
實例059 經理與員工的差異 90
實例060 重寫父類中的方法 92
實例061 計算幾何圖形的面積 93
實例062 簡單的汽車銷售商場 95
實例063 使用Comparable接口自定
義排序 96
實例064 策略模式的簡單套用 98
實例065 適配器模式的簡單套用 100
實例066 普通內部類的簡單套用 102
實例067 局部內部類的簡單套用 103
實例068 匿名內部類的簡單套用 104
實例069 靜態內部類的簡單套用 105
實例070 實例化Class類的幾種方式 107
實例071 查看類的聲明 108
實例072 查看類的成員 110
實例073 查看內部類信息 112
實例074 動態設定類的私有域 113
實例075 動態調用類中方法 115
實例076 動態實例化類 116
實例077 創建長度可變的數組 117
實例078 利用反射重寫toString()方法 119
第8章 字元串與包裝類 121
實例079 將數字格式化為貨幣字元串 122
實例080 貨幣金額大寫格式 123
實例081 String類格式化當前日期 125
實例082 字元串大小寫轉換 126
實例083 字元與Unicode碼的轉換 128
實例084 判斷用戶名是否正確 129
實例085 用戶名排序 130
實例086 判斷網頁請求與FTP請求 132
實例087 判斷檔案類型 133
實例088 判斷字元串是否為數字 135
實例089 驗證IP位址的有效性 136
實例090 鑑別非法電話號碼 137
實例091 將字元串轉換成整數 139
實例092 整數進制轉換器 140
實例093 獲取字元串中漢字的個數 141
實例094 批量替換某一類字元串 142
實例095 查看數字的取值範圍 144
實例096 ASCII編碼查看器 145
實例097 判斷手機號的合法性 146
實例098 用字元串構建器追加字元 147
實例099 去掉字元串中的所有空格 148
實例100 Double類型的比較 149
第9章 Java集合類框架 151
範例101 用動態數組保存學生姓名 152
實例102 用List集合傳遞學生信息 153
實例103 Map集合二級聯動 155
實例104 不重複隨機數組排序 157
實例105 for循環遍歷ArrayList 159
實例106 Iterator遍歷ArrayList 159
實例107 ListIterator逆序遍歷ArrayList 160
實例108 製作電子詞典 161
實例109 製作手機電話簿 162
第10章 常用數學工具類 164
實例110 角度和弧度的轉換 165
實例111 三角函式的使用 166
實例112 反三角函式的使用 167
實例113 雙曲函式的使用 168
實例114 指數與對數運算 169
實例115 高精度整數運算 170
實例116 高精度浮點運算 171
實例117 七星彩號碼生成器 173
實例118 大樂透號碼生成器 174
第11章 錯誤處理 177
實例119 算數異常 178
實例120 數組下標越界異常 179
實例121 空指針異常 180
實例122 類未發現異常 181
實例123 非法訪問異常 182
實例124 檔案未發現異常 183
實例125 資料庫操作異常 184
實例126 方法中拋出異常 185
實例127 方法上拋出異常 186
實例128 自定義異常類 187
實例129 捕獲單個異常 188
實例130 捕獲多個異常 189
第12章 輸入/輸出 191
實例131 顯示指定類型的檔案 192
實例132 以樹結構顯示檔案路徑 193
實例133 查找替換文本檔案內容 194
實例134 設定Windows系統的檔案
屬性 195
實例135 檔案批量重命名 196
實例136 快速批量移動檔案 197
實例137 刪除資料夾中的.tmp檔案 198
實例138 將圖片檔案保存到資料庫 199
實例139 從資料庫讀取圖片檔案 200
實例140 窗體動態載入磁碟檔案 201
實例141 刪除資料夾中所有檔案 202
實例142 創建磁碟索引檔案 208
實例143 控制台記錄器 205
實例144 防止創建多個字元串對象 206
實例145 合併多個文本檔案 207
實例146 對大檔案實現分割處理 208
實例147 將分割後的檔案重新合併 209
實例148 讀取屬性檔案單個屬性值 210
實例149 向屬性檔案中添加信息 211
實例150 在複製檔案時使用進度條 212
實例151 從XML檔案中讀取數據 213
實例152 讀取Jar檔案屬性 214
實例153 電子通訊錄 215
實例154 批量複製指定擴展名檔案 217
實例155 分類保存檔案 218
實例156 搜尋指定資料夾中的檔案 219
實例157 實現檔案鎖定功能 220
實例158 簡單的投票軟體 221
實例159 壓縮所有文本檔案 222
實例160 將壓縮檔解壓到指定資料夾 223
實例161 壓縮所有子資料夾 225
實例162 深層資料夾壓縮檔的釋放 226
實例163 解決壓縮檔中文亂碼 227
實例164 Apache實現檔案解壓縮 228
實例165 把窗體壓縮成ZIP檔案 229
實例166 解壓縮Java對象 230
實例167 檔案壓縮為RAR文檔 231
實例168 解壓縮RAR壓縮檔 233
實例169 為RAR壓縮檔添加注釋 234
實例170 獲取壓縮檔詳細檔案列表 235
實例171 從RAR壓縮檔中刪除檔案 237
實例172 在壓縮檔案中查找字元串 238
實例173 重命名RAR壓縮檔中檔案 239
實例174 創建自解壓RAR壓縮檔 240
第13章 枚舉類型與泛型 242
實例175 查看枚舉類型的定義 243
實例176 枚舉類型的基本特性 244
實例177 增加枚舉元素的信息 245
實例178 選擇合適的枚舉元素 246
實例179 高效的枚舉元素集合 248
實例180 高效的枚舉元素映射 249
實例181 使用枚舉接口遍曆元素 250
實例182 使用泛型實現棧結構 251
實例183 自定義泛型化數組類 253
實例184 泛型方法與數據查詢 254
實例185 使用通配符增強泛型 256
實例186 泛型化的折半查找法 257
第14章 Swing入門 259
實例187 從上次關閉位置啟動窗體 260
實例188 始終在桌面最頂層顯示窗體 261
實例189 設定窗體大小 262
實例190 根據桌面大小調整窗體大小 263
實例191 自定義最大化、最小化和
關閉按鈕 265
實例192 禁止改變窗體的大小 267
實例193 指定窗體標題欄圖示 267
實例194 設定閃爍的標題欄 269
實例195 實現帶背景圖片的窗體 270
實例196 背景為漸變色的主界面 271
實例197 隨機更換窗體背景 273
實例198 橢圓形窗體界面 275
實例199 鑽石形窗體 276
實例200 創建透明窗體 277
實例201 信息提示對話框 278
實例202 設定信息提示對話框的圖示 279
實例203 指定打開對話框的檔案類型 280
實例204 為保存對話框設定默認檔案名稱 282
實例205 支持圖片預覽的檔案選
擇對話框 283
實例206 顏色選擇對話框 285
實例207 信息輸入對話框 286
實例208 定製信息對話框 287
實例209 攔截事件的玻璃窗格 289
實例210 簡單的每日提示信息 290
實例211 震動效果的提示信息 292
實例212 製作圓形布局管理器 293
實例213 製作階梯布局管理器 295
實例214 密碼域控制項簡單套用 296
實例215 文本域設定背景圖片 297
實例216 文本區設定背景圖片 298
實例217 簡單的字元統計工具 299
實例218 能預覽圖片的複選框 300
實例219 簡單的投票計數軟體 301
實例220 單選按鈕的簡單套用 302
實例221 能顯示圖片的組合框 303
實例222 使用滑塊來選擇日期 305
實例223 模仿記事本的選單欄 308
實例224 自定義縱向的選單欄 309
實例225 複選框與單選按鈕選單項 311
實例226 包含圖片的彈出選單 312
實例227 工具列的實現與套用 314
實例228 修改列表項顯示方式 315
實例229 列表項與提示信息 316
實例230 表頭與列的高度設定 317
實例231 調整表格各列的寬度 319
實例232 設定表格的選擇模式 321
實例233 為表頭增添提示信息 323
實例234 單元格的粗粒度排序 325
實例235 實現表格的查找功能 326
實例236 套用格線布局設計計算
器窗體 327
第15章 多執行緒 329
實例237 查看執行緒的運行狀態 330
實例238 查看JVM中的執行緒名 331
實例239 查看和修改執行緒優先權 333
實例240 休眠當前執行緒 335
實例241 終止指定執行緒 336
實例242 執行緒的插隊運行 337
實例243 使用方法實現執行緒同步 339
實例244 使用特殊域變數實現執行緒同步 341
實例245 簡單的執行緒通信 342
實例246 新建有返回值的執行緒 344
實例247 使用執行緒池最佳化多執行緒編程 346
實例248 哲學家的就餐問題 348
第16章 網路通信 350
實例249 獲得區域網路的所有IP位址 351
實例250 獲取網路資源的大小 352
實例251 解析網頁中的內容 354
實例252 網路資源的單執行緒下載 355
實例253 網路資源的多執行緒下載 357
實例254 下載網路資源的斷點續傳 359
實例255 建立伺服器套接字 362
實例256 建立客戶端套接字 363
實例257 設定等待連線的逾時時間 364
實例258 獲得Socket信息 365
實例259 接收和傳送Socket信息 367
實例260 關閉Socket緩衝 369
實例261 使用Socket通信 371
實例262 防止Socket傳遞漢字亂碼 375
實例263 使用Socket傳遞對象 377
實例264 使用Socket傳輸圖片 379
實例265 使用Socket傳輸音頻 381
實例266 使用Socket傳輸視頻 384
實例267 一個伺服器與一個客戶端
通信 385
實例268 一個伺服器與多個客戶端
通信 387
實例269 客戶端一對多通信 389
實例270 客戶端一對一通信 391
實例271 基於Socket的資料庫編程 393
實例272 使用Proxy創建代理伺服器 396
實例273 使用ProxySelector選擇
代理伺服器 397
實例274 聊天室伺服器端 399
實例275 聊天室客戶端 401
第17章 資料庫操作 405
實例276 JDBC連線MySQL資料庫 406
實例277 連線SQL Server 2005資料庫 407
實例278 JDBC連線Oracle資料庫 408
實例279 獲取SQL Server指定數據
庫中的數據表信息 409
實例280 獲取MySQL指定資料庫
中的數據表名稱 411
實例281 查看數據表結構 412
實例282 動態維護投票資料庫 414
實例283 SQL Server數據備份 416
實例284 SQL Server數據恢復 419
實例285 MySQL數據備份 422
實例286 MySQL數據恢復 424
實例287 動態附加資料庫 425
實例288 生成SQL資料庫腳本 426
實例289 表中欄位的描述信息 429
實例290 將員工信息添加到數據表 430
實例291 添加數據時使用數據驗證 431
實例292 插入用戶登錄日誌信息 432
實例293 生成有規律的編號 433
實例294 生成無規律的編號 435
實例295 插入數據時過濾危險字元 436
實例296 複選框保存到資料庫 437
實例297 把數據複製到另一張表中 438
實例298 批量插入數據 439
實例299 更新指定記錄 440
實例300 在刪除數據時給出提示信息 442