本書是"十一五”"十二五”普通高等教育本科國家級規(guī)劃教材,江蘇"十四五”普通高等教育本科規(guī)劃教材。 本書通過全面地介紹Java程序設(shè)計的基礎(chǔ)知識、運行機制、多種編程方法和技術(shù),力求建立牢固扎實的理論基礎(chǔ),系統(tǒng)、有序地進行程序設(shè)計和面向?qū)ο蠓椒ǖ幕A(chǔ)訓(xùn)練,為操作系統(tǒng)、數(shù)據(jù)庫、網(wǎng)絡(luò)通信、Web應(yīng)用等軟件領(lǐng)域的實際應(yīng)用問題提供基于Java技術(shù)的解決方案。 本書主要內(nèi)容包括Java概述,Java語言基礎(chǔ),類的封裝、繼承和多態(tài),接口、內(nèi)部類和Java API基礎(chǔ),異常處理,圖形用戶界面設(shè)計,多線程設(shè)計,流和文件操作,Socket通信,基于JDBC的數(shù)據(jù)庫應(yīng)用設(shè)計,基于JSP的Web應(yīng)用設(shè)計,以及綜合應(yīng)用設(shè)計。這些內(nèi)容是構(gòu)成Java應(yīng)用程序的基本要素和必備知識。 本書注重理論與實踐相結(jié)合,注重基礎(chǔ)知識的講解與基本技能的培養(yǎng)。全書內(nèi)容豐富,結(jié)構(gòu)安排合理,由淺入深,層次分明,內(nèi)容涉及的廣度和深度符合高等教育本科培養(yǎng)目標的要求。 本書可以作為普通高等學(xué)校計算機類專業(yè)學(xué)生的Java程序設(shè)計相關(guān)課程教材,也可以作為使用Java進行軟件開發(fā)的人員的參考書。
		
	
葉核亞,計算機工程學(xué)院副教授,江蘇省高!扒嗨{工程”優(yōu)秀骨干教師。碩士研究生,本科畢業(yè)于南京大學(xué)計算機科學(xué)與技術(shù)系。主講數(shù)據(jù)結(jié)構(gòu)與算法、Java語言程序設(shè)計等課程。主編出版數(shù)據(jù)結(jié)構(gòu)與算法、Java程序設(shè)計等教材19本,其中國家級“十一五”“十二五”規(guī)劃教材7本,江蘇省“十二五”“十三五”高等學(xué)校重點教材3本。主持建設(shè)完成“數(shù)據(jù)結(jié)構(gòu)”精品資源共享課、江蘇省在線開放課程和江蘇省“一流課程”,以及“Java基礎(chǔ)”精品課程。多次獲得南京工程學(xué)院“三育人”先進個人、畢業(yè)設(shè)計優(yōu)秀指導(dǎo)教師、創(chuàng)新創(chuàng)業(yè)優(yōu)秀指導(dǎo)教師等,以及電子工業(yè)出版社“優(yōu)秀作譯者”等。
目錄
第1章  Java概述	1
1.1  了解Java	1
1.1.1  Java的誕生和發(fā)展	1
1.1.2  Java的特點	2
1.1.3  Java核心技術(shù)	4
1.2  JDK	6
1.2.1  安裝和設(shè)置JDK	6
1.2.2  編輯、編譯和運行Java
應(yīng)用程序	7
1.2.3  包	8
1.3  Java集成開發(fā)環(huán)境	12
1.3.1  Eclipse集成開發(fā)環(huán)境	13
1.3.2  編輯、編譯和運行程序	14
1.3.3  設(shè)置Eclipse環(huán)境屬性	16
1.3.4  設(shè)置項目屬性	17
1.3.5  程序調(diào)試技術(shù)	18
習(xí)題1	20
實驗1  編輯、編譯和運行Java應(yīng)用程序	21
第2章  Java語言基礎(chǔ)	22
2.1  語言成分	22
2.1.1  標識符與關(guān)鍵字	22
2.1.2  基本數(shù)據(jù)類型	23
2.1.3  變量與常量	25
2.1.4  運算符與表達式	26
2.2  流程控制語句	32
2.2.1  順序結(jié)構(gòu)語句	33
2.2.2  選擇語句	33
2.2.3  循環(huán)語句	35
2.2.4  轉(zhuǎn)移語句	39
2.3  數(shù)組	39
2.3.1  一維數(shù)組	40
2.3.2  二維數(shù)組	43
2.4  靜態(tài)方法	46
2.4.1  方法聲明與調(diào)用	46
2.4.2  參數(shù)傳遞	47
2.5  字符串	50
2.6  算法分析與設(shè)計基礎(chǔ)**	53
2.6.1  算法設(shè)計策略	53
2.6.2  典型問題的算法分析與設(shè)計	56
2.6.3  計算方陣的線性迭代算法	62
習(xí)題2	64
實驗2  Java程序設(shè)計基礎(chǔ)	65
第3章  類的封裝、繼承和多態(tài)	71
3.1  類和對象	71
3.1.1  類	71
3.1.2  對象	73
3.2  類的封裝	74
3.2.1  構(gòu)造方法和析構(gòu)方法	75
3.2.2  對象的引用和運算	76
3.2.3  訪問控制	77
3.2.4  靜態(tài)成員	78
3.2.5  淺拷貝與深拷貝	83
3.3  類的繼承	86
3.3.1  繼承原則及作用	86
3.3.2  子類的構(gòu)造方法	88
3.4  類的多態(tài)	89
3.4.1  子類聲明多態(tài)成員	89
3.4.2  類型的多態(tài)	92
3.4.3  何時確定執(zhí)行哪個多態(tài)方法	93
3.4.4  多態(tài)的方法實現(xiàn)	94
3.4.5  運行時多態(tài)的應(yīng)用	96
3.5  類的抽象	98
3.5.1  用繼承刻畫包含關(guān)系	98
3.5.2  抽象類	99
3.5.3  最終類	104
習(xí)題3	105
實驗3  類的封裝、繼承和多態(tài)	107
第4章  接口、內(nèi)部類和Java API基礎(chǔ)	109
4.1  接口與實現(xiàn)接口的類	109
4.2  內(nèi)部類	115
4.3  Java API基礎(chǔ)	118
4.3.1  java.lang包中的基礎(chǔ)類庫	118
4.3.2  java.util包中的工具類庫	123
4.4  泛型**	126
習(xí)題4	131
實驗4  接口與實現(xiàn)接口的類	132
第5章  異常處理	134
5.1  異常處理基礎(chǔ)	134
5.1.1  異常處理機制的必要性	134
5.2.2  錯誤與異常	135
5.2  異常處理措施	138
5.2.1  異常處理語句	138
5.2.2  拋出異常	140
5.2.3  自定義異常類	141
習(xí)題5	143
實驗5  拋出、捕獲并處理異常	143
第6章  圖形用戶界面設(shè)計	144
6.1  AWT組件及屬性類	144
6.1.1  AWT組件	144
6.1.2  布局管理	148
6.1.3  顏色和字體	149
6.2  事件處理	150
6.2.1  委托事件模型	150
6.2.2  AWT事件類和事件監(jiān)聽器
接口	154
6.3  Swing組件及事件	156
6.3.1  Swing組件類和容器	157
6.3.2  文本組件及事件	158
6.3.3  按鈕類組件	162
6.3.4  列表框和組合框組件及事件	163
6.3.5  中間容器	166
6.3.6  定制對話框	166
6.3.7  菜單類組件	176
6.3.8  表格組件及事件	184
6.4  圖形設(shè)計	189
習(xí)題6	196
實驗6  圖形用戶界面設(shè)計	197
第7章  多線程設(shè)計	215
7.1  進程和線程	215
7.1.1  進程	215
7.1.2  線程	217
7.2  Java的線程對象	218
7.2.1  Runnable接口與Thread類	219
7.2.2  線程對象的生命周期	222
7.2.3  采用線程實現(xiàn)動畫設(shè)計	224
7.3  線程互斥和線程同步	227
7.3.1  交互線程,與時序有關(guān)的
錯誤	228
7.3.2  交互線程的競爭與互斥	230
7.3.3  交互線程的協(xié)作與同步	233
習(xí)題7	242
實驗7  多線程設(shè)計	243
第8章  流和文件操作	247
8.1  文件和目錄	247
8.1.1  文件	247
8.1.2  目錄	249
8.1.3  文件系統(tǒng)	250
8.2  字節(jié)流	251
8.2.1  流	251
8.2.2  抽象字節(jié)流	252
8.2.3  文件字節(jié)流	253
8.2.4  數(shù)據(jù)字節(jié)流	256
8.2.5  對象字節(jié)流	261
8.2.6  管道字節(jié)流	263
8.3  字符流	267
8.3.1  字符流類	267
8.3.2  Java標準輸入/輸出	270
8.4  文件操作	271
8.4.1  文件類及其過濾器	271
8.4.2  文件選擇對話框	275
習(xí)題8	282
實驗8  流和文件操作	283
第9章  Socket通信	286
9.1  網(wǎng)絡(luò)編程基礎(chǔ)	286
9.2  TCP Socket通信	289
9.3  UDP Socket通信	301
9.3.1  UDP Socket點對點通信	301
9.3.2  UDP組播通信	305
習(xí)題9	309
實驗9  Socket通信	310
第10章  基于JDBC的數(shù)據(jù)庫應(yīng)用設(shè)計	311
10.1  MySQL數(shù)據(jù)庫	311
10.1.1  安裝MySQL數(shù)據(jù)庫,
啟動數(shù)據(jù)庫服務(wù)	311
10.1.2  MySQL數(shù)據(jù)庫工作臺	312
10.2  JDBC及數(shù)據(jù)庫應(yīng)用設(shè)計	313
10.2.1  JDBC功能和連接數(shù)據(jù)庫	313
10.2.2  執(zhí)行SQL語句	315
10.2.3  處理數(shù)據(jù)查詢結(jié)果集	317
習(xí)題10	320
實驗10  基于JDBC的數(shù)據(jù)庫應(yīng)用設(shè)計	320
第11章  基于JSP的Web應(yīng)用設(shè)計	321
11.1  Web應(yīng)用的基礎(chǔ)知識	321
11.2  JSP技術(shù)	324
11.2.1  JSP原理	324
11.2.2  運行JSP	325
11.2.3  JSP語法	329
11.2.4  基于JSP提供數(shù)據(jù)庫
應(yīng)用服務(wù)的Web應(yīng)用	336
習(xí)題11	338
實驗11  基于JSP的Web應(yīng)用設(shè)計	339
第12章  綜合應(yīng)用設(shè)計	340
12.1  集合框架	340
12.1.1  集合	341
12.1.2  映射	344
12.2  反射***	346
12.3  使用復(fù)雜Swing組件	348
12.3.1  BoxLayout盒式布局管理器和Box容器	348
12.3.2  列表框	348
12.3.3  樹	353
12.4  課程設(shè)計的要求和選題	368
附錄A  ASCII字符與Unicode值	379
附錄B  Java的關(guān)鍵字及說明	380
附錄C  Java基本數(shù)據(jù)類型	381
附錄D  Java的運算符及其優(yōu)先級	382
附錄E  Java類庫(部分)	383
E.1  java.lang語言包	383
E.2  java.util實用包	387
E.3  java.text文本包	388
附錄F  Eclipse常用菜單命令	390
參考文獻	391