第1章緒論1
1.1Java語言簡介1
1.1.1Java語言平臺無關(guān)性1
1.1.2Java語言的發(fā)展歷史3
1.1.3Java語言的應(yīng)用領(lǐng)域4
1.1.4Java語言的地位6
1.2Java語言的特性7
1.3Java編程規(guī)范9
1.3.1包的命名與注釋10
1.3.2類、接口的命名及注釋10
1.3.3成員函數(shù)的命名及注釋12
1.3.4字段、屬性的命名及注釋14
1.3.5局部變量命名及注釋15
1.4Java開發(fā)環(huán)境的搭建16
1.4.1下載JDK16
1.4.2安裝JDK17
1.4.3配置環(huán)境變量17
1.5第一個程序Hello World!21
1.6Eclipse開發(fā)工具的安裝與使用24
1.6.1Eclipse下載及安裝24
1.6.2Eclipse的配置及啟動25
1.6.3創(chuàng)建Java項目26
1.6.4創(chuàng)建類文件27
1.6.5輸出Eclipse中的第一個Hello World!31
1.7本章小結(jié)32
習(xí)題132◆Java程序設(shè)計目錄第2章Java語言編程基礎(chǔ)33
2.1基本數(shù)據(jù)類型及轉(zhuǎn)換33
2.1.1整數(shù)類型33
2.1.2字符類型35
2.1.3浮點類型35
2.1.4邏輯類型36
2.1.5類型轉(zhuǎn)換運算36
2.2變量與常量37
2.2.1變量37
2.2.2常量38
2.3運算符和字符串39
2.3.1運算符39
2.3.2字符串41
2.4表達式和語句44
2.4.1表達式44
2.4.2語句44
2.4.3if條件分支語句45
2.4.4switch開關(guān)語句47
2.4.5循環(huán)語句48
2.4.6break和continue語句50
2.5流程控制51
2.5.1塊作用域51
2.5.2條件語句52
2.5.3循環(huán)語句52
2.5.4多重選擇switch語句53
2.5.5中斷控制流程語句53
2.6數(shù)組和數(shù)組列表55
2.6.1使用數(shù)組55
2.6.2構(gòu)造數(shù)組55
2.6.3數(shù)組列表56
2.6.4數(shù)組與數(shù)組列表的復(fù)制58
2.7標(biāo)準輸入和輸出58
2.7.1讀取輸入58
2.7.2格式化輸出59
2.8本章小結(jié)60
習(xí)題261
第3章類與對象63
3.1面向?qū)ο蟾攀?3
3.2類64
3.2.1類的定義64
3.2.2類的聲明64
3.3對象的創(chuàng)建和構(gòu)造方法65
3.3.1對象的聲明與創(chuàng)建65
3.3.2使用對象66
3.3.3構(gòu)造方法68
3.4對象的組合69
3.5類的高級特性72
3.5.1Java類包72
3.5.2包名沖突72
3.5.3完整的類路徑73
3.5.4創(chuàng)建包73
3.5.5成員內(nèi)部類74
3.5.6局部內(nèi)部類76
3.5.7靜態(tài)內(nèi)部類77
3.5.8匿名內(nèi)部類78
3.6static關(guān)鍵字80
3.6.1實例變量和類變量的區(qū)別80
3.6.2實例方法和類方法的區(qū)別81
3.7this關(guān)鍵字82
3.7.1在構(gòu)造方法中使用this82
3.7.2在實例方法中使用this83
3.8基本數(shù)據(jù)類型的封裝類85
3.8.1Double和Float類85
3.8.2Byte、Short、Integer和Long類85
3.8.3Character類85
3.8.4有理數(shù)的封裝86
3.8.5自動裝箱與拆箱89
3.9本章小結(jié)90
習(xí)題390
第4章繼承與多態(tài)92
4.1類的繼承92
4.1.1繼承的好處92
4.1.2繼承的定義92
4.1.3繼承的用法93
4.1.4繼承總結(jié)95
4.2多態(tài)95
4.2.1多態(tài)的定義95
4.2.2多態(tài)的理解95
4.3抽象類99
4.3.1抽象類的定義99
4.3.2繼承抽象類102
4.3.3抽象方法103
4.3.4抽象類總結(jié)104
4.4final和super關(guān)鍵字104
4.4.1final關(guān)鍵字104
4.4.2super關(guān)鍵字105
4.5內(nèi)部類107
4.5.1成員內(nèi)部類107
4.5.2局部內(nèi)部類108
4.5.3嵌套內(nèi)部類110
4.5.4匿名內(nèi)部類110
4.5.5內(nèi)部類的繼承114
4.6接口114
4.6.1接口與類115
4.6.2接口的特性115
4.6.3抽象類和接口的區(qū)別116
4.6.4接口的聲明116
4.6.5接口的實現(xiàn)116
4.6.6接口的繼承117
4.7接口回調(diào)118
4.8本章小結(jié)120
習(xí)題4120
第5章異常處理126
5.1異常處理的概念126
5.2異常類及異常處理方式126
5.2.1異常類127
5.2.2異常處理方式128
5.3捕獲異常131
5.4聲明異常134
5.5Java異常處理機制136
5.5.1異常處理機制136
5.5.2trycatch語句137
5.5.3trycatchfinally語句140
5.5.4try、catch、finally語句塊的執(zhí)行順序142
5.5.5throws拋出異常143
5.5.6throw拋出異常144
5.6自定義異常類145
5.7異常處理的使用原則146
5.8本章小結(jié)149
習(xí)題5149
第6章組件及事件響應(yīng)153
6.1Swing概述153
6.1.1JFrame窗口類153
6.1.2JPanel面板類155
6.1.3JLabel標(biāo)簽類156
6.1.4JButton按鈕類157
6.2Swing中的事件159
6.2.1事件簡介159
6.2.2同一個事件源注冊多個監(jiān)聽器160
6.2.3同一個監(jiān)聽器注冊給多個事件源161
6.2.4窗體獲取和失去焦點事件163
6.2.5窗體打開、關(guān)閉和激活事件164
6.3常用組件及布局166
6.3.1流布局166
6.3.2網(wǎng)格布局168
6.3.3邊框布局169
6.3.4空布局171
6.3.5卡片布局173
6.3.6文本框及密碼框和多行文本框175
6.3.7復(fù)選框和單選按鈕178
6.3.8選項卡180
6.3.9分隔窗格183
6.3.10滑塊和進度條185
6.3.11列表框190
6.3.12菜單195
6.4本章小結(jié)197
習(xí)題6198
第7章常見類的使用和I/O流199
7.1String類和StringBuffer類199
7.1.1String類199
7.1.2StringBuffer類202
7.2Scanner類204
7.3Class類205
7.3.1Class類原理206
7.3.2獲得一個Class206
7.4I/O流207
7.4.1I/O流的概念207
7.4.2預(yù)定義的I/O流類207
7.4.3文件讀寫210
7.4.4寫二進制文件214
7.4.5讀二進制文件216
7.4.6File類218
7.4.7處理壓縮文件219
7.5序列化222
7.5.1基本概念與Serializable接口222
7.5.2Externalizable223
7.6本章小結(jié)224
習(xí)題7224
第8章數(shù)據(jù)庫226
8.1數(shù)據(jù)庫基礎(chǔ)226
8.1.1數(shù)據(jù)庫簡介226
8.1.2SQL基本類型228
8.1.3SQL語法基礎(chǔ)228
8.1.4MySQL數(shù)據(jù)庫的安裝及配置231
8.2JDBC概述240
8.2.1JDBC簡介240
8.2.2JDBC常用類240
8.3數(shù)據(jù)庫操作242
8.3.1加載驅(qū)動242
8.3.2創(chuàng)建數(shù)據(jù)庫的連接242
8.3.3創(chuàng)建一個Statement242
8.3.4執(zhí)行SQL語句243
8.3.5處理結(jié)果243
8.3.6數(shù)據(jù)庫的關(guān)閉244
8.4本章小結(jié)249
習(xí)題8249
第9章多線程252
9.1線程基本概述252
9.1.1線程的概念252
9.1.2多線程的好處253
9.2線程的開始啟動253
9.2.1繼承Thread類創(chuàng)建線程類254
9.2.2顯示Runnable接口創(chuàng)建線程類255
9.2.3使用Callable和Future創(chuàng)建線程257
9.2.4創(chuàng)建線程的3種方式對比259
9.3線程的生命歷程259
9.3.1線程生命周期259
9.3.2線程死亡261
9.4控制線程262
9.4.1join線程262
9.4.2后臺線程264
9.5線程同步265
9.5.1線程安全問題265
9.5.2同步代碼塊268
9.5.3釋放同步監(jiān)視器的鎖定268
9.5.4死鎖269
9.6線程通信271
9.7線程池及其應(yīng)用276
9.8本章小結(jié)279
習(xí)題9279
第10章Java網(wǎng)絡(luò)編程282
10.1IP和InetAddress類282
10.1.1IP和IP地址282
10.1.2InetAddress類283
10.2URL與URLConnection284
10.2.1URL284
10.2.2URLConnection286
10.3基于TCP的網(wǎng)絡(luò)編程288
10.3.1TCP基礎(chǔ)288
10.3.2TCP的建立與中斷290
10.3.3基于TCP協(xié)議的Socket編程292
10.4基于UDP的網(wǎng)絡(luò)編程296
10.4.1UDP基礎(chǔ)296
10.4.2使用DatagramSocket發(fā)送、接收數(shù)據(jù)297
10.5本章小結(jié)304
習(xí)題10304
第11章實驗305
11.1for循環(huán)305
11.1.1實驗?zāi)康?05
11.1.2實驗內(nèi)容及步驟305
11.2面向?qū)ο?06
11.2.1實驗?zāi)康?06
11.2.2實驗內(nèi)容及步驟306
11.3繼承與多態(tài)308
11.3.1實驗?zāi)康?08
11.3.2實驗內(nèi)容及步驟308
11.4異常處理310
11.4.1實驗?zāi)康?10
11.4.2實驗內(nèi)容及步驟310
11.5組件及事件響應(yīng)311
11.5.1實驗?zāi)康?11
11.5.2實驗內(nèi)容及步驟311
11.6I/O314
11.6.1實驗?zāi)康?14
11.6.2實驗內(nèi)容及步驟314
11.7數(shù)據(jù)庫317
11.7.1實驗?zāi)康?17
11.7.2實驗內(nèi)容及步驟317
11.8多線程320
11.8.1實驗?zāi)康?20
11.8.2實驗內(nèi)容及步驟320
11.9Java網(wǎng)絡(luò)編程322
11.9.1實驗?zāi)康?22
11.9.2實驗內(nèi)容及步驟323
附錄A習(xí)題答案326
參考文獻352