Java編程入門與應用 Java编程入门与应用

孟麗絲, 張雪

買這商品的人也買了...

商品描述

Java是當今世界最重要、使用最廣泛的電腦語言之一。全球有超過百萬的開發者在用Java進行各種程序的開發。用Java編寫的程序因為其硬件環境無關性而越來越受到人們的青睞。
本書共分19章,主要內容包括Java語言的發展、特點、運行環境、數據類型、流程控制、變量常量、運算符與表達式、註釋、選擇語句、循環語句、跳轉語句、數組和排序、類和對象、靜態類、繼承、枚舉、接口、集合類、泛型、字符串、日期和時間處理、數學類、隨機類和異常類。在應用方面介紹了文件和目錄操作、多線程、反射機制、網絡編程、數據庫編程以及圖形界面設計。最後介紹了常用的幾種設計模式在Java中的實現,如單例模式、工廠模式、適配器模式和狀態模式等。
本書既可以作為高等院校電腦相關專業Java語言程序設計課程的教材,也可以作為Java程序設計的培訓教材,還可以作為自學者的參考書。

海報:

作者簡介

孟麗絲,具有多年的開發經驗,熟悉數據庫Oracle、SQL Server、MySQL的使用,如存儲過程、SQL性能調優、日常數據庫管理、備份還原等。精通基於Windows下的各種應用服務的管理,包括DHCP、DNS、IIS、CA、VPN、Exchange、SQL、TMG等。

張雪,具有多年的開發經驗,熟練掌握Java語言,Struts框架,熟悉eclipse開發工具,熟練配置Tomcat應用服務器,及VSS等版本控制工具。熟悉JSP,曾經參與知名銀行、機場物流相應項目開發,熟練使用Oracle、SQL Server等關係數據庫。

目錄大綱

第1章認識Java 
1.1 Java簡介………………………………2 
1.1.1什麼是Java語言………………… 2 
1.1.2 Java語言的特點……………… … 3 
1.1.3學習Java的最佳途徑…………… 4 
1.2高手帶你做——搭建Java開發環境…5 
1.3高手帶你做——配置環境變量…………7 
1.4高手帶你做——輸出“你好Java” ……9 
1.4.1編寫Java源程序………………… 9 
1.4.2編譯和運行…………………… 10 
1.4.3編譯常見錯誤解決方法… …… 11 
1.4.4 Java程序運行流程…………… 11 
1.5 Java程序的基本要素……………… 12 
1.5.1標識符………………………… 13 
1.5.2關鍵字………………………… 13 
1.5.3註釋…………………………… 14 
1.5.4修飾符………………………… 15 
1.5.5語句和塊… …………………… 15 
1.5.6類……………………………… 15 
1.5.7方法…………………………… 15 
1.5.8 main() 法…………………… 15 
1.6 Java推薦編程規範………………… 16
1.7高手帶你做——安裝Eclipse ……… 16 
1.8高手帶你做——創建第一個Java 
項目………………………………… 19 
1.9高手帶你做——修改Eclipse編輯器
字體大小…………………………… 23 
1.10高手帶你做——Eclipse調試代碼… 24 
1.11成長任務…………………………… 26 

第2章Java程序設計基礎
2.1常量………………………………… 28 
2.1.1常量值………………………… 28 
2.1.2定義常量……………………… 29 
2.2變量…… …………………………… 29 
2.2.1聲明變量……………………… 30 
2.2.2變量賦值……………………… 30 
2.2.3變量的作用域… ……………… 30 
2.3數據類型…………………………… 32 
2.3.1數據類型的分類……………… 33 
2.3.2整數類型……………………… 33 
2.3.3浮點類型……………………… 34 
2.3.4布爾類型……………………… 36 
2.3.5字符類型 …………………… 36 
2.4基本運算符………………………… 37 
2.4.1算術運算符…………………… 37 
2.4.2賦值運算符…………… ……… 39
2.4.3邏輯運算符…………………… 41 
2.4.4關係運算符…………………… 41 
2.4.5自增和自減運算符…………… 43 
2.5位運算符…………………………… 45 
2.5.1位邏輯運算符………………… 45 
2.5.2位移運算符…………………… 47 
2.5.3複合位賦值運算符…………… 48 
2.6高手帶你做——認識條件運算符…… 48 
2.7運算符優先級……………………… 49 
2.8類型轉換…………………………… 50 
2.8.1隱式轉換……………………… 51 
2.8.2顯式轉換……………………… 51 
2.9成長任務…………………………… 52 

第3章流程控制語句
3.1了解算法…………………………… 54 
3.1.1算法的定義…………………… 54 
3.1.2高手帶你做——使用算法求1~4的和……………………… 54 
3.1.3算法描述方式………………… 55 
3.2順序結構…………………………… 58 
3.2.1語句編寫方式… …………… 58 
3.2.2空語句………………………… 59 
3.2.3表達式語句…………………… 59 
3.2.4複合語句…………………… … 59
3.3 if條件語句…………………………… 60 
3.3.1 if語句語法…………………… 60 
3.3.2雙條件if語句………………… 62 
3.3.3多條件if語句………………… 63 
3.3.4高手帶你做——嵌套if的使用65 
3.4 switch條件語句……………………… 67 
3.4.1 switch語句格式………… …… 67 
3.4.2 if語句和switch語句的區別… 69 
3.4.3高手帶你做——根據出生日期判斷星座…………………… 70 
3.5循環語句……………………… …… 71 
3.5.1 while語句……………………… 72 
3.5.2 do…while語句………………… 72 
3.5.3 for語句………………………… 74 
3.5 .4高手帶你做——九九乘法口訣表… 77 
3.5.5 foreach語句…………………… 78 
3.6跳轉語句…………………………… 79 
3.6.1 return語句……………………… 79 
3.6.2 break語句……………………… 80 
3.6.3 continue語句…………………… 84 
3.7高手 你做——判斷閏年和
輸出某月的天數…………………… 86 
3.8高手帶你做——輸出楊輝三角形…… 87
3.9成長任務…………………………… 89 

第4章字符串處理
4.1定義字符串………………………… 92 
4.1.1直接定義字符串……………… 92 
4.1.2使用String類定義…………… 92 
4.2連接字符串………………………… 93 
4.2.1使用連接運算符……………… 93 
4.2.2使用concat()方法…………… 94 
4.2.3高手帶你做——連接其他類型數據……………………… 95 
4.3基本處理…………………………… 96 
4.3.1獲取字符串長度……………… 96 
4.3.2轉換大小寫…………………… 97 
4.3.3去除空格……………………… 98 
4.3.4提取子字符串…………… …… 98 
4.3.5分割字符串…………………… 100 
4.3.6高手帶你做——截取新聞標題… 100 
4.4替換字符串…………………………102 
4.4.1 replace()方法………………… 102 
4.4.2 replaceFirst()方法……………… 102 
4.4.3 replaceAll()方法……………… 103 
4.4.4高手帶你做——批量替換字符串…………………………… 103 
4.5比較字符串…………………………104
4.5.1 equals()方法…………………… 104 
4.5.2 equalsIgnoreCase()方法……… 105 
4.5.3 compareTo()方法……………… 106 
4.6查找字符串…………… ……………107 
4.6.1根據字符查找………………… 107 
4.6.2根據索引查找………………… 108 
4.6.3高手帶你做——校驗文件名和郵箱地址… ………………… 109 
4.7高手帶你做——加密和解密…………110 
4.8 StringBuffer類………………………111 
4.8.1創建StringBuffer類…………… 112 
4.8. 2追加字符串…………………… 112 
4.8.3替換字符……………………… 114 
4.8.4反轉字符串…………………… 114 
4.8.5刪除字符串…………………… 114 
4.8.6高手帶你做——替換特殊符號115 
4.9正則表達式…………………………116 
4.9.1元字符…………………… …… 116 
4.9.2限定符………………………… 117 
4.9.3高手帶你做——使用正則
表達式驗證電話 碼………… 117 
4.9.4高手帶你做——驗證IP地址是否合法……………………… 118
4.10成長任務……………………………120 

第5章數字和日期處理
5.1數學處理類…………………………122 
5.1.1靜態常量…………………… … 122 
5.1.2求最大值、最小值和絕對值… 122 
5.1.3求整運算……………………… 123 
5.1.4三角函數運算………………… 124 
5.1.5指數運算……………………… 125 
5.2高手帶你做——生成隨機數…………125 
5.3高手帶你做——數字格式化…………128 
5.4大數字運算…………… ……………129 
5.4.1 BigInteger類…………………… 129 
5.4.2 BigDecimal類………………… 131 
5.5日期處理類…………………………133 
5.5. 1 Date類………………………… 133 
5.5.2 Calendar類…………………… 135 
5.6日期格式化…………………………138 
5.6.1 DateFormat類…… …………… 139 
5.6.2 SimpleDateFormat類………… 140 
5.7高手帶你做——計算課程結束日期… 142 
5.8高 手帶你做——實現日期查詢功能… 144 
5.9成長任務……………………………149

第6章Java內置包裝類
6.1 Object類………………………………152 
6.2 Integer類……………………………154 
6.3 Float類……………………… ………156 
6.4 Double類……………………………158 
6.5 Number類……………………………159 
6.6 Character類…………………………160 
6.7 Boolean類……………………………163 
6.8 Byte類………………………………164 
6.9 System類……………………………165 
6.9.1 System類的成員變量………… 166 
6.9.2 System類的成員方法………… 167 
6.10成長任務……………………………169
 
第7章數組處理
7.1數組簡介………………… …………171 
7.2一維數組……………………………171 
7.2.1創建一維數組………………… 171 
7.2.2分配空間……………………… 172 
7.2.3初始化一維數組……………… 173 
7.2.4獲取單個元素………………… 174 
7.2.5獲取全部元素…… …………… 175 
7.2.6高手帶你做——統計商品信息175
7.3二維數組……………………………176 
7.3.1創建二維數組………………… 177 
7.3.2初始化二維數組……………… 177 
7.3.3獲取單個元素………………… 177 
7.3.4獲取全部元素………………… 178 
7.3.5獲取整行元素………………… 179 
7.3.6獲取整列元素……………… … 180 
7.4多維數組……………………………181 
7.5數組的常用處理……………………181 
7.5.1比較數組……………………… 182 
7.5.2填充數組……………………… 182 
7.5.3查找數組……………………… 183 
7.6複製數組……………………………185 
7.6.1使用copyOf()方法和copyOfRange()方法…………… 185 
7.6.2使用arraycopy()方法………… 187 
7.6.3使用clone()方法……………… 189 
7.7數組排序……………………… ……190 
7.7.1內置排序法…………………… 190 
7.7.2冒泡排序法…………………… 191 
7.7.3快速排序 …………………… 192 
7.7.4選擇排序法…………………… 194 
7.7.5直接插入法…………………… 195
7.8高手帶你做——實現商品信息
查詢功能……………………………196 
7.9成長任務……………………………197 

第8章類和對象
8.1面向對象概述… ……………………200 
8.1.1對象的概念…………………… 200 
8.1.2面向對象的三大核心特性…… 200 
8.2高手帶你做——認識類和對象…… …202 
8.3使用類………………………………203 
8.3.1定義類………………………… 203 
8.3.2屬性…………………………… 204 
8.3.3高手帶你做——創建學生類… 205 
8.3.4方法…………………………… 206 
8.3.5 this關鍵字……………………… 208 
8.4對象…… ……………………………209 
8.4.1對象的創建…………………… 209 
8.4.2訪問對象的屬性和行為……… 212 
8.4.3對象的銷毀………… ………… 212 
8.4.4高手帶你做——用戶修改密碼213 
8.5作用域修飾符………………………215 
8.5.1訪問控 修飾符……………… 215 
8.5.2 static靜態修飾符……………… 217 
8.5.3 final修飾符…………………… 221
8.6特殊方法……………………………222 
8.6.1 main()方法…………………… 222 
8.6.2方法的可變參數……………… 224 
8.6.3構造方法……………………… 225 
8.6.4高手帶你做——查看個人信息227 
8.6.5析構方法……………………… 228 
8.7包…………………… ………………230 
8.7.1系統包………………………… 230 
8.7.2自定義包……………………… 231 
8.8高手帶你做——使用自定義包………231 
8.9成長任務……………………………232 

第9章繼承和多態
9.1類的封裝……………………………234 
9.2高手帶你做——封裝圖書信息類……235 
9.3類的繼承……………………………236 
9.3.1簡單繼承……………………… 237 
9.3.2單繼承…………………… …… 239 
9.3.3 super關鍵字…………………… 240 
9.3.4對像類型轉換………………… 241 
9.3.5強制對像類型轉換…………… 243 
9.4 方法重載……………………………244 
9.5方法重寫……………………………245 
9.6多態…………………………………247
9.7抽像類………………………………249 
9.8接口…………………………………251 
9.8.1定義接口……………………… 251 
9.8.2實現接口……………………… 252 
9.9高手帶你做——接口和抽像類
的區別………………………………254 
9.9.1基本語法區別……………… … 254 
9.9.2設計思想區別………………… 255 
9.10內部類………………………………257 
9.10.1內部類簡介…………………… 257 
9.10.2高手帶你做—— 
使用實例內部類……………… 258 
9.10.3高手帶你做—— 
使用靜態內部類……………… 261 
9.10.4高手帶你做——使用局部
內部類………………………… 262 
9.11匿名類………………………………263 
9.12高手帶你做——利用內部類實現
多重繼承………………………… …265 
9.13成長任務……………………………266 

第10章Java異常處理
10.1了解Java中的異常………… ………268 
10.1.1異常簡介……………………… 268 
10.1.2高手帶你做——異常產生
的原因及使用原則…………… 268
10.1.3異常類型……………………… 269 
10.2異常處理語句………………………270 
10.2.1異常語句結構………………… 270 
10.2.2 try catch語句… ……………… 270 
10.2.3高手帶你做——計算
平均成績……………………… 272 
10.2.4 try catch finally語句………… 273 
10.3異常的聲明和拋出…… ……………275 
10.3.1 throws聲明異常……………… 276 
10.3.2 throw拋出異常……………… 277 
10.4自定義異常…………………………278 
10.5高手帶你做——驗證用戶
登錄信息……………………………280 
10.6高手帶你做——完善除法運算
的錯誤提示…………………………282 
10.7成長任務…… ………………………285
 
第11章集合、泛型和枚舉
11.1 Java集合類概述……………………288 
11.1.1集合中的接口………………… 288 
11.1 .2接口實現類…………………… 288 
11.2 Collection接口………………… ……289 
11.3 List集合……………………………291 
11.3.1 ArrayList類…………………… 291
11.3.2 LinkedList類………………… 294 
11.4 Set集合……………………………296 
11.4.1 HashSet類…………………… 296 
11.4.2 TreeSet類……… …………… 297 
11.5 Map集合……………………………300 
11.6 Collections類………………………301 
11.6.1正向排序……………………… 301 
11.6.2逆向排序……………………… 302 
11.6.3複製…………………………… 303 
11.6.4填充…………………………… 305 
11.7泛型…………………………………306 
11.7.1泛型集合……………………… 306 
11.7.2泛型類………………………… 308 
11.7.3泛型方法……………………… 309 
11.7.4泛型的高級用法……………… 310 
11.8高手帶你做——圖書查詢功能……311 
11.9枚舉……………… …………………314 
11.9.1聲明枚舉……………………… 314 
11.9.2枚舉類………………………… 315 
11.9.3為枚舉添加方法… ………… 316 
11.9.4 EnumMap與EnumSet ……… 319 
11.10成長任務……………………………320

第12章Java反射機制
12.1 Java反射簡介………………………322 
12.2反射在類中的應用…………………323 
12.2.1訪問構造方法………………… 323 
12.2 .2訪問方法……………………… 326 
12.2.3訪問成員變量………………… 330 
12.3高手帶你做——在遠程方法中
使用反射機制…………………… …333 
12.4成長任務……………………………338 

第13章Java輸入/輸出流
13.1流概述………………………………340 
13.1.1什麼是輸入/輸出流………… 340 
13.1.2輸入流………………………… 340 
13.1.3輸出流………………………… 341 
13.2系統流………………………… ……342 
13.3操作文件……………………………344 
13.3.1 File類簡介…………………… 344 
13.3.2獲取文件屬性………………… 345 
13.3.3創建和刪除文件……………… 346 
13.3.4創建和刪除目錄……………… 346 
13.3.5遍歷目錄 …………………… 347 
13.4高手帶你做——動態讀取文件內容… 349 
13.5使用字節流…………………………351
13.5.1字節輸入流…………………… 351 
13.5.2字節輸出流…………………… 352 
13.5.3字節數組輸入流……………… 353 
11.5.4字節數組輸出流……………… 354 
13.5.5文件輸入流…………………… 355 
13.5.6文件輸出流…………………… 356 
13.6使用字符流………… ………………358 
13.6.1字符輸入流…………………… 359 
13.6.2字符輸出流…………………… 359 
13.6.3字符文件輸入流……………… 360 
13.6.4字符文件輸出流……………… 361 
13.6.5字符緩衝區輸入流…………… 363 
13.6.6字符緩衝區輸出流…………… 364 
13.7高手帶你做——保存圖書信息……365 
13.8成長任務……………………………367
 
第14章Java多線程編程
14.1線程簡介……………………………370 
14.2實現線程………… …………………371 
14.2.1繼承Thread類……………… 371 
14.2.2實現Runnable接口………… 375 
14.2.3兩種方法比較………………… 376 
14.3線程的生命週期……………………376 
14.4高手帶你做——多線程
之間訪問實例變量…………………377 
14.5高手帶你做——解決
非線程安全問題……………………380 
14.6線程同步……………………………382 
14.7線程操作方法………………………384 
14.7.1 currentThread()方法………… 384 
14.7.2 isAlive()方法………………… 386 
14.7.3 sleep()方法……… …………… 389 
14.7.4 getId()方法…………………… 390 
14.7.5 yield()方法…………………… 391 
14.8高手帶你做——停止線程……… …392 
14.8.1停止不了的線程……………… 392 
14.8.2判斷線程是不是停止狀態…… 393 
14.8.3異常法停止線程……………… 396 
14.8.4在休眠中停止… ……………… 398 
14.8.5強制停止線程………………… 400 
14.8.6釋放鎖的不良後果…………… 401 
14.8.7使用return停止線程………… 403 
14.9高手帶你做——暫停線程…………404 
14.9.1 suspend()與resume()方法…… 404 
14.9.2 佔問題……………………… 406 
14.9.3不同步問題…………………… 408
14.10線程的優先級和執行順序………409 
14.10.1優先級概述………………… 409 
14.10.2使用優先級………………… 410 
14.11成長任務………………… …………412 

第15章JDBC數據庫編程
15.1 JDBC技術…………………………414 
15.1.1 JDBC簡介…………………… 414 
15.1.2 JDBC API簡介…………… … 414 
15.1.3 JDBC驅動類型……………… 415 
15.2連接數據庫…………………………417 
15.3使用JDBC驅動程序………………417 
15.3.1提供JDBC連接的URL … …… 418 
15.3.2加載JDBC驅動程序………… 418 
15.3.3數據庫驅動類………………… 420 
15.3.4關閉數據庫連接……………… 422 
15.4高手帶你做——使用ODBC橋
連接數據庫…………………………423 
15.5執行SQL語句………………………424 
15.5.1 Statement對象………………… 424 
15.5.2 PreparedStatement對象……… 426 
15.5.3 CallableStatement對象……… 428 
15.6處理查詢結果………………………430
15.6.1使用ResultSet ………………… 430 
15.6.2 ResultSet接口的方法………… 431 
15.6.3 ResultSetMetaData對象……… 433 
15.7高級結果集…………………………434 
15.7 .1可滾動結果集………………… 434 
15.7.2可更新結果集………………… 437 
15.8高手帶你做——獲取列的信息……440 
15.9高手帶你做——商品管理系統……441 
15.10成長任務…………………………446 

第16章Java網絡編程
16.1網絡基礎……………………………448 
16.1.1網絡分類………… …………… 448 
16.1.2網絡編程模型………………… 448 
16.1.3網絡協議……………………… 449 
16.1.4套接字和端口………………… 450 
16.2 InetAddress地址類…………………450 
16.3 TCP通信……………………………452 
16.3.1 ServerSocket類……………… 452 
16.3.2 Socket類…………… ………… 454 
16.3.3高手帶你做——客戶端與服務器端的簡 通信……… 456 
16.3.4高手帶你做——傳輸對像數據… 458
16.4 UDP通信……………………………462 
16.4.1 DatagramPacket類…………… 462 
16.4.2 DatagramSocket類…………… 463 
16.5 URL通信………………………… …465 
16.5.1 URL概念……………………… 465 
16.5.2 URL類………………………… 466 
16.5.3 URLConnection類…………… 466 
16.5.4高手帶你做——提取URL協議
名稱…………………………… 467 
16.6成長任務……………………………468 

第17章Swing界面編程基礎
17.1 Swing簡介……………… …………470 
17.1.1 Swing類庫結構……………… 470 
17.1.2 Swing包……………………… 470 
17.1.3 Swing容器…………………… 471 
17.2窗口和麵板…………………………472 
17.2.1 JFrame窗口…………………… 472 
17.2.2 JPanel面板…………………… 473 
17.3佈局管理器…………… ……………474 
17.3.1邊框佈局管理器……………… 475 
17.3.2流式佈局管理器……… …… 476
17.3.3卡片佈局管理器……………… 478 
17.3.4網格佈局管理器……………… 479 
17.3.5網格包佈局管理器…………… 480 
17.3.6盒佈局管理器………………… 483 
17.4基本組件……………………………484 
17.4.1標籤組件……………………… 484 
17.4.2按鈕組件……………… ……… 486 
17.4.3單行文本框組件……………… 487 
17.4.4文本域組件…………………… 489 
17.4.5複選框組件…………………… 490 
17.4 .6單選按鈕……………………… 491 
17.4.7下拉列表組件………………… 492 
17.4.8列錶框組件…………………… 494 
17.5高手帶你做— —實現計算器界面…495 
17.6事件處理……………………………497 
17.6.1事件處理模型………………… 497 
17.6.2動作事件監聽器……………… 498 
17.6.3焦點事件監聽器……………… 499 
17.6.4高手帶你做——監聽
列表項選擇事件…………… 500 
17.7高手帶你做——星座選擇器………501 
17.8成長任務……………………………504
 
第18章Swing高級組件
18.1高級佈局組件………………………506 
18.1.1滑塊…………………………… 506 
18.1.2進度條………………………… 508 
18.1.3計時器………………………… 511 
18.1.4菜單欄………………………… 513 
18.1.5工具欄………………………… 518 
18.2選擇器組件… ………………………521 
18.2.1文件選擇器…………………… 521 
18.2.2顏色選擇器…………………… 523 
18.3對話框………………… ……………524 
18.3.1確認對話框…………………… 524 
18.3.2消息對話框…………………… 525 
18.3.3輸入對話框…………………… 526 
18.3.4選項對話框…………………… 527 
18.4表格…………………………………527 
18.5樹……………………………………531 
18.6選項卡………………………………533 
18.7高手帶你做——製作文本編輯器…535 
18.8成長任務……………………………538 

第19 Java設計模式
19.1認識設計模式………………………540 
19.1.1設計模式簡介………………… 540 
19.1.2設計模式的理解……………… 540
19.1.3設計模式的分類……………… 541 
19.1.4為什麼要學習設計模式……… 542 
19.1.5如何學習設計模式…………… 543 
19.1.6學習設計模式的層次……… … 543 
19.1.7面向對象的設計原則………… 544 
19.2單例模式……………………………545 
19.3工廠模式……………………………546 
19.3.1簡單工廠模式………………… 546 
19.3.2工廠方法模式………………… 548 
19.3.3抽象工廠模式………………… 551 
19.4適配器模式……………………… …553 
19.5外觀模式……………………………555 
19.6觀察者模式…………………………558 
19.7狀態模式……………………………560 
19.8不要過度使用設計模式……………563