Java程序設(shè)計(jì)與實(shí)踐教程(第2版)
定 價(jià):59.5 元
叢書名:高等學(xué)校軟件工程專業(yè)系列教材
- 作者:楊麗萍、王薇、張焱焱、北京云班科技有限公司
- 出版時(shí)間:2019/1/1
- ISBN:9787302506652
- 出 版 社:清華大學(xué)出版社
- 中圖法分類:TP312.8
- 頁碼:
- 紙張:膠版紙
- 版次:
- 開本:16開
本書從企業(yè)用人的實(shí)踐技術(shù)需求出發(fā),系統(tǒng)地介紹了Java語言及相關(guān)技術(shù)。全書共13章,前4章為Java入門基礎(chǔ),主要包括Java簡介及開發(fā)環(huán)境搭建、Java基礎(chǔ)語法等;第5、6章介紹Java面向?qū)ο缶幊獭惓L幚頇C(jī)制及包的概念,全面討論了面向?qū)ο蟪绦蛟O(shè)計(jì)的思想方法及在Java語言中的實(shí)現(xiàn);第7、8章介紹Java的常用系統(tǒng)類和I/O流;第9章介紹Java的GUI圖形用戶界面技術(shù);第10、11章介紹線程和網(wǎng)絡(luò)編程技術(shù);第12章介紹Java與各種數(shù)據(jù)庫的連接方法及應(yīng)用;第13章介紹Android程序開發(fā)基礎(chǔ)知識(shí)。
本書結(jié)構(gòu)合理,語言簡練,內(nèi)容深入淺出,以案例匯總各章知識(shí)點(diǎn),使讀者學(xué)而知所用,體現(xiàn)了Java編程語言的實(shí)戰(zhàn)性特點(diǎn)。本書可以作為高等院校和培訓(xùn)班相關(guān)專業(yè)的教材,還可供從事計(jì)算機(jī)技術(shù)、電子商務(wù)、系統(tǒng)工程的人員和企業(yè)技術(shù)人員參考。
本書具有重項(xiàng)目實(shí)踐,重理論要點(diǎn),采用案例匯總知識(shí)點(diǎn),力求體現(xiàn)實(shí)戰(zhàn)性教材等特點(diǎn),使讀者逐步具備利用Java來開發(fā)應(yīng)用程序的能力。教材內(nèi)容充實(shí),結(jié)構(gòu)合理,每章均配有理論練習(xí)題及上機(jī)實(shí)訓(xùn)題。本書集知識(shí)性、實(shí)踐性和操作性于一體,具有內(nèi)容安排合理、層次清楚、圖文并茂、通俗易懂、實(shí)例豐富等特點(diǎn)。
Java程序設(shè)計(jì)語言是隨著Internet的發(fā)展而產(chǎn)生的,是目前被廣泛使用的程序設(shè)計(jì)語言之一。由于Java語言具有學(xué)習(xí)入門快、社會(huì)需求量大、就業(yè)面廣等特點(diǎn),使得Java程序設(shè)計(jì)語言成為計(jì)算機(jī)方向的一門專業(yè)必修課,其課程體系也成為各高校計(jì)算機(jī)學(xué)院、軟件學(xué)院學(xué)生學(xué)習(xí)的技術(shù)主線之一。
現(xiàn)在大多數(shù)Java程序設(shè)計(jì)教材單純地從程序設(shè)計(jì)語言的角度出發(fā),純粹介紹語言特點(diǎn)及語法規(guī)則,忽視了Java程序設(shè)計(jì)語言的應(yīng)用性,F(xiàn)在大多的高校計(jì)算機(jī)專業(yè)和軟件學(xué)院則強(qiáng)調(diào)學(xué)生的實(shí)踐動(dòng)手能力,對學(xué)生的實(shí)踐動(dòng)手能力要求更高,這就需要有相應(yīng)的實(shí)踐性強(qiáng)的教材。本書正是以這一市場需求為立足點(diǎn),以理論要點(diǎn)為基礎(chǔ),以案例驅(qū)動(dòng)總結(jié)各章節(jié)知識(shí)點(diǎn),使讀者學(xué)而知所用,體現(xiàn)了Java編程語言的實(shí)戰(zhàn)性特點(diǎn)。
編者在多年教學(xué)經(jīng)驗(yàn)的基礎(chǔ)上,結(jié)合企業(yè)實(shí)訓(xùn)要求,根據(jù)學(xué)生的認(rèn)知規(guī)律精心組織了本書內(nèi)容,并通過大量的案例,循序漸進(jìn)地介紹了Java語言程序設(shè)計(jì)的有關(guān)概念和編程技巧。全書共13章。前4章為Java的入門基礎(chǔ),主要包括Java簡介及開發(fā)環(huán)境搭建,Java基礎(chǔ)語法等。第5、6章介紹Java面向?qū)ο缶幊、異常處理機(jī)制及包的概念,全面討論了面向?qū)ο蟪绦蛟O(shè)計(jì)的思想方法及在Java語言中的實(shí)現(xiàn)。通過這部分的學(xué)習(xí),讀者對面向?qū)ο蟪绦蛟O(shè)計(jì)的思想在Java中的應(yīng)用就會(huì)有比較完整的認(rèn)識(shí)。第7、8章介紹Java的常用系統(tǒng)類和I/O流。第9章介紹Java的GUI圖形用戶界面技術(shù)。通過這部分的學(xué)習(xí),使讀者達(dá)到能夠設(shè)計(jì)專業(yè)化圖形用戶界面的能力。第10、11章介紹線程和網(wǎng)絡(luò)編程技術(shù)。第12章介紹Java與各種數(shù)據(jù)庫的連接方法及應(yīng)用。第13章介紹Android程序開發(fā)基礎(chǔ)知識(shí)。
綜上所述,本書具有重項(xiàng)目實(shí)踐、重理論要點(diǎn)、采用案例匯總知識(shí)點(diǎn)、力求體現(xiàn)實(shí)戰(zhàn)性等特點(diǎn),使讀者逐步具備利用Java來開發(fā)應(yīng)用程序的能力。教材內(nèi)容充實(shí)、結(jié)構(gòu)合理,每章均配有理論練習(xí)題及上機(jī)實(shí)訓(xùn)題。本書集知識(shí)性、實(shí)踐性和操作性于一體,具有內(nèi)容安排合理、層次清楚、圖文并茂、通俗易懂、實(shí)例豐富等特點(diǎn)。
本書由長春大學(xué)計(jì)算機(jī)學(xué)院楊麗萍和王薇,以及吉林工商學(xué)院張焱焱擔(dān)任主編,參加編寫的人員還有宋全記、黃超和劉艷。全書由楊麗萍統(tǒng)稿并完成第1、2、3章編寫,第4、11章由王薇編寫,第5、6章由長春大學(xué)劉艷編寫,第7、8章由長春大學(xué)計(jì)算機(jī)學(xué)院黃超編寫,第9、10章及附錄部分由四川建筑職業(yè)技術(shù)學(xué)院信息工程系宋全記編寫,第12、13章由張焱焱編寫完成。全書案例部分得到北京云班科技有限公司的大力支持。
由于編者水平有限,加之本書內(nèi)容覆蓋面廣,書中難免有不妥之處,敬請廣大讀者批評指正。
編 者
2018年5月
第1章 Java簡介 1
1.1 Java語言簡介 1
1.1.1 Java語言發(fā)展歷史 1
1.1.2 Java語言特點(diǎn) 2
1.2 Java平臺(tái)及主要應(yīng)用方向 4
1.3 Java的運(yùn)行機(jī)制及JVM 5
1.4 Java的相關(guān)術(shù)語 6
1.4.1 什么是JDK 6
1.4.2 什么是JRE 7
1.5 Java開發(fā)環(huán)境的搭建 7
1.5.1 JDK的安裝 7
1.5.2 MyEclipse的安裝 11
1.6 Java程序的編寫與運(yùn)行 13
1.6.1 第一個(gè)Java程序 13
1.6.2 第一個(gè)Applet程序 15
1.6.3 使用MyEclipse運(yùn)行Java程序 16
1.7 Java程序的一些特殊語句 20
1.7.1 輸出語句 20
1.7.2 注釋語句 21
1.8 生成Java文檔 22
1.9 本章小結(jié) 24
理論練習(xí)題 25
上機(jī)實(shí)訓(xùn)題 26
第2章 Java基礎(chǔ) 27
2.1 面向?qū)ο蟮幕靖拍?27
2.1.1 類和對象 27
2.1.2 屬性與方法 27
2.1.3 對象的繼承 27
2.1.4 對象的重用 28
2.1.5 對象的封裝 28
2.1.6 對象的多態(tài)性 29
2.2 Java語言中類的定義 29
2.2.1 類的屬性 29
2.2.2 類的方法 30
2.2.3 案例分析:一個(gè)簡單的Java程序 32
2.3 常量和變量 33
2.3.1 常量 33
2.3.2 變量 33
2.3.3 標(biāo)識(shí)符和關(guān)鍵字 34
2.4 數(shù)據(jù)類型 35
2.4.1 基本數(shù)據(jù)類型 35
2.4.2 各類型數(shù)據(jù)間的相互轉(zhuǎn)換 38
2.5 運(yùn)算符和表達(dá)式 40
2.5.1 算術(shù)運(yùn)算符和算術(shù)表達(dá)式 40
2.5.2 案例分析:溫度轉(zhuǎn)換 42
2.5.3 賦值運(yùn)算符和賦值表達(dá)式 43
2.5.4 關(guān)系運(yùn)算符和關(guān)系表達(dá)式 44
2.5.5 邏輯運(yùn)算符和邏輯表達(dá)式 45
2.5.6 條件運(yùn)算符和條件表達(dá)式 47
2.5.7 位運(yùn)算符和移位運(yùn)算符 47
2.5.8 運(yùn)算符優(yōu)先級(jí) 50
2.5.9 案例分析:運(yùn)算符優(yōu)先級(jí) 50
2.6 本章小結(jié) 51
理論練習(xí)題 52
上機(jī)實(shí)訓(xùn)題 52
第3章 程序流程控制 54
3.1 程序的流程控制 54
3.2 選擇結(jié)構(gòu) 55
3.2.1 if語句 55
3.2.2 案例分析:閏年問題 59
3.2.3 switch語句 59
3.2.4 案例分析:劃分成績等級(jí) 62
3.3 循環(huán)結(jié)構(gòu) 63
3.3.1 for語句 63
3.3.2 案例分析:計(jì)算平均成績1 64
3.3.3 while語句 65
3.3.4 案例分析:計(jì)算平均成績2 66
3.3.5 do-while語句 67
3.4 跳轉(zhuǎn)語句 69
3.4.1 break語句 69
3.4.2 continue語句 70
3.4.3 return語句 70
3.5 本章小結(jié) 71
理論練習(xí)題 71
上機(jī)實(shí)訓(xùn)題 72
第4章 數(shù)組 73
4.1 一維數(shù)組 73
4.1.1 數(shù)組的聲明 73
4.1.2 數(shù)組的創(chuàng)建 74
4.1.3 數(shù)組的訪問 75
4.2 多維數(shù)組 76
4.2.1 二維數(shù)組聲明與初始化 76
4.2.2 二維數(shù)組元素的引用 77
4.3 字符數(shù)組 78
4.3.1 字符數(shù)組與字符串 78
4.3.2 字符串 79
4.3.3 字符串?dāng)?shù)組 79
4.4 數(shù)組作為方法的參數(shù) 80
4.5 本章小結(jié) 80
理論練習(xí)題 81
上機(jī)實(shí)訓(xùn)題 81
第5章 類和對象 83
5.1 對象的定義和引用 83
5.1.1 構(gòu)造方法 83
5.1.2 對象的創(chuàng)建 84
5.1.3 對象的使用 86
5.1.4 對象的銷毀 86
5.2 案例分析:銀行賬戶對象的創(chuàng)建 86
5.3 靜態(tài)成員與實(shí)例成員 87
5.3.1 靜態(tài)屬性與實(shí)例屬性 88
5.3.2 靜態(tài)方法與實(shí)例方法 88
5.3.3 靜態(tài)成員與實(shí)例成員的特征 88
5.3.4 關(guān)鍵字this的使用 90
5.4 方法的重載 91
5.4.1 成員方法的重載 91
5.4.2 構(gòu)造方法的重載 91
5.5 案例分析:銀行賬戶類構(gòu)造方法的重載 92
5.6 類的封裝和訪問控制 93
5.6.1 類的封裝 93
5.6.2 訪問控制 94
5.7 案例分析:簡單的銀行賬戶管理程序 97
5.8 本章小結(jié) 102
理論練習(xí)題 104
上機(jī)實(shí)訓(xùn)題 107
第6章 類和對象的擴(kuò)展 108
6.1 類的繼承 108
6.1.1 繼承的引入 108
6.1.2 子類的定義和使用 109
6.1.3 成員變量的隱藏 110
6.1.4 方法的覆蓋 111
6.1.5 super關(guān)鍵字 112
6.1.6 final關(guān)鍵字 113
6.2 案例分析:VIP銀行賬戶類的創(chuàng)建 113
6.3 多態(tài) 116
6.3.1 多態(tài)的概念 116
6.3.2 向上轉(zhuǎn)型 117
6.3.3 向下轉(zhuǎn)型 117
6.4 抽象類 118
6.4.1 抽象方法的聲明 119
6.4.2 抽象類的聲明 119
6.4.3 抽象類的使用 119
6.5 內(nèi)部類與外部類 121
6.6 包 122
6.6.1 包的創(chuàng)建 122
6.6.2 包的引用 124
6.7 案例分析:改進(jìn)的銀行賬戶管理程序 125
6.8 接口 129
6.8.1 接口的定義 129
6.8.2 接口的實(shí)現(xiàn)與使用 130
6.8.3 接口的繼承 131
6.8.4 嵌套接口 132
6.9 Java異常處理機(jī)制 132
6.9.1 異常處理概述 133
6.9.2 異常分類 133
6.9.3 異常的處理 134
6.9.4 自定義異常類 137
6.10 本章小結(jié) 138
理論練習(xí)題 139
上機(jī)實(shí)訓(xùn)題 140
第7章 Java常用系統(tǒng)類 141
7.1 Java API 141
7.2 字符串類 143
7.2.1 String類 143
7.2.2 StringBuffer類 150
7.3 System類與Runtime類 152
7.3.1 System類 152
7.3.2 Runtime類 155
7.4 Math類與Random類 156
7.4.1 Math類 156
7.4.2 Random類 158
7.5 Date類與Calendar類 158
7.5.1 Date類 158
7.5.2 Calendar類 160
7.6 Java基本類型包裝器與泛型 162
7.6.1 基本類型包裝器 162
7.6.2 泛型 163
7.7 集合類 164
7.7.1 ArrayList類 165
7.7.2 LinkedList類 166
7.7.3 HashSet類 168
7.7.4 HashMap類 170
7.8 迭代器 174
7.9 案例分析:利用ArrayList類存儲(chǔ)銀行賬戶類 176
7.10 本章小結(jié) 179
理論練習(xí)題 180
上機(jī)實(shí)訓(xùn)題 183
第8章 Java輸入輸出系統(tǒng) 184
8.1 流的基本概念 184
8.2 字節(jié)流 185
8.3 字符流 187
8.4 File類 188
8.5 System.in和System.out對象 190
8.6 FileInputStream類和FileOutputStream類 191
8.7 FileReader類和FileWriter類 192
8.8 過濾流 193
8.9 文件的隨機(jī)訪問 194
8.10 案例分析:多種流的實(shí)現(xiàn) 196
8.11 本章小結(jié) 197
理論練習(xí)題 198
上機(jī)實(shí)訓(xùn)題 199
第9章 GUI圖形用戶界面 201
9.1 Swing概述 201
9.2 Swing容器 205
9.2.1 JFrame框架 206
9.2.2 JPanel面板 208
9.2.3 JDialog對話框 209
9.2.4 Swing其他容器 210
9.2.5 案例分析:Swing容器銀行登錄界面綜合實(shí)例 211
9.3 常用Swing組件 214
9.3.1 JLabel標(biāo)簽組件 214
9.3.2 JTextField文本框和JTextArea文本區(qū) 215
9.3.3 JButton按鈕組件 217
9.3.4 JCheckBox復(fù)選框和JRadioButton單選按鈕 218
9.3.5 JList列表框組件 219
9.3.6 JComboBox下拉列表框組件 220
9.3.7 JMenu菜單組件 221
9.4 GUI布局管理器 224
9.4.1 FlowLayout流式布局管理器 224
9.4.2 BorderLayout邊界布局管理器 225
9.4.3 CardLayout卡片布局管理器 226
9.4.4 GridLayout網(wǎng)格布局管理器 228
9.4.5 GridBagLayout網(wǎng)格包布局管理器 230
9.4.6 BoxLayout盒式布局管理器 230
9.4.7 案例分析:布局管理器綜合實(shí)例 231
9.5 事件處理模型 234
9.5.1 事件處理機(jī)制 234
9.5.2 事件處理類 237
9.5.3 事件適配器 239
9.5.4 案例分析:銀行系統(tǒng)事件類綜合應(yīng)用 240
9.6 本章小結(jié) 245
理論練習(xí)題 246
上機(jī)實(shí)訓(xùn)題 247
第10章 線程 248
10.1 線程概念 248
10.1.1 基本概念 248
10.1.2 生命周期 249
10.2 Java線程機(jī)制 250
10.2.1 Thread類創(chuàng)建線程 251
10.2.2 Runnable接口創(chuàng)建線程 253
10.2.3 案例分析:銀行排號(hào)系統(tǒng)實(shí)例 255
10.2.4 線程優(yōu)先級(jí)和調(diào)度 256
10.2.5 線程組 260
10.2.6 主線程 261
10.3 線程同步與通信 262
10.3.1 線程同步 262
10.3.2 線程通信 263
10.3.3 死鎖 265
10.3.4 案例分析:銀行業(yè)務(wù)線程同步案例 266
10.4 本章小結(jié) 270
理論練習(xí)題 271
上機(jī)實(shí)訓(xùn)題 272
第11章 網(wǎng)絡(luò)編程 273
11.1 Java與網(wǎng)絡(luò) 273
11.1.1 網(wǎng)絡(luò) 273
11.1.2 Java中的網(wǎng)絡(luò)功能 276
11.2 URL編程 277
11.2.1 URL簡介 277
11.2.2 URL類 277
11.2.3 構(gòu)造URL類對象中的異常 278
11.2.4 URL類的獲取URL特征的主要方法 278
11.2.5 從URL直接讀取 278
11.2.6 URLCOnnection類 279
11.3 Socket通信機(jī)制 281
11.3.1 使用TCP協(xié)議的Socket網(wǎng)絡(luò)編程 281
11.3.2 使用UDP協(xié)議的Socekt網(wǎng)絡(luò)編程 285
11.4 案例分析一:C/S模式下的文件內(nèi)容傳遞 288
11.5 案例分析二:基于TCP/IP的多線程電子白板 290
11.6 本章小結(jié) 298
理論練習(xí)題 298
上機(jī)實(shí)訓(xùn)題 299
第12章 Java數(shù)據(jù)庫操作 300
12.1 數(shù)據(jù)庫基礎(chǔ)知識(shí) 300
12.2 SQL語言基本語法 301
12.2.1 數(shù)據(jù)定義命令 301
12.2.2 數(shù)據(jù)查詢語言 302
12.2.3 數(shù)據(jù)更新語言 306
12.3 JDBC訪問數(shù)據(jù)庫 307
12.3.1 JDBC簡介 307
12.3.2 JDBC Driver API 308
12.3.3 JDBC訪問數(shù)據(jù)庫步驟 309
12.4 案例分析:創(chuàng)建JDBC-ODBC連接 310
12.5 預(yù)處理語句 314
12.6 可滾動(dòng)結(jié)果集的操作 315
12.6.1 滾動(dòng)結(jié)構(gòu)集的查詢操作 315
12.6.2 滾動(dòng)結(jié)果集的更新操作 316
12.6.3 滾動(dòng)結(jié)果集的插入與刪除操作 317
12.7 連接其他類型數(shù)據(jù)庫 318
12.7.1 連接Oracle數(shù)據(jù)庫 318
12.7.2 連接MySQL數(shù)據(jù)庫 319
12.7.3 連接SQL Server數(shù)據(jù)庫 320
12.8 本章小結(jié) 321
理論練習(xí)題 321
上機(jī)實(shí)訓(xùn)題 323
第13章 Android應(yīng)用程序開發(fā) 324
13.1 Android概述 324
13.1.1 Android簡介 324
13.1.2 Android系統(tǒng)架構(gòu) 325
13.2 Android開發(fā)環(huán)境 328
13.2.1 準(zhǔn)備工作 328
13.2.2 進(jìn)入Eclipse開發(fā)環(huán)境 329
13.2.3 SDK Manager和SDK文件夾 330
13.3 創(chuàng)建FirstAndroidApp程序 331
13.3.1 創(chuàng)建和啟動(dòng)Android虛擬設(shè)備AVD 331
13.3.2 DDMS 333
13.3.3 新建Android工程項(xiàng)目 335
13.3.4 Android工程項(xiàng)目的文件結(jié)構(gòu) 337
13.3.5 Android組件 339
13.3.6 編譯和運(yùn)行Android應(yīng)用程序 342
13.3.7 Android應(yīng)用程序的調(diào)試、打包和發(fā)布 343
13.3.8 案例分析 346
13.4 本章小結(jié) 351
理論練習(xí)題 351
上機(jī)實(shí)訓(xùn)題 354
附錄A Eclipse熱鍵大全 355
參考文獻(xiàn) 359