本書(shū)在講解Java程序設(shè)計(jì)語(yǔ)言的基礎(chǔ)語(yǔ)法之前,使用現(xiàn)實(shí)生活中的實(shí)例讓讀者從感性上體會(huì)和理解面向?qū)ο笏枷氲睦砟睿^早地融入面向?qū)ο蟮氖澜。本?shū)的主要內(nèi)容包括面向?qū)ο蟪绦蛟O(shè)計(jì)基礎(chǔ)、Java程序設(shè)基礎(chǔ)、程序的流程控制、類(lèi)的特性、接口與多態(tài)、異常處理、對(duì)象的管理、I/O操作、多線(xiàn)程編程、網(wǎng)絡(luò)編程、Eclipse開(kāi)發(fā)環(huán)境的使用、圖形用戶(hù)界面編程Swing技術(shù)以及數(shù)據(jù)庫(kù)編程。
本書(shū)適合作為普通高等院校應(yīng)用型本科計(jì)算機(jī)相關(guān)專(zhuān)業(yè)的入門(mén)教材,也可供其他初學(xué)者或軟件開(kāi)發(fā)人員參考使用。
本書(shū)內(nèi)容主要包括:Java語(yǔ)言概述,Java語(yǔ)法基礎(chǔ)、程序流程控制、類(lèi)的繼承與多態(tài)、抽象類(lèi)與接口、異常處理、集合類(lèi)、IO操作、多線(xiàn)程編程、網(wǎng)絡(luò)編程、圖形用戶(hù)界面、數(shù)據(jù)庫(kù)編程和Eclipse開(kāi)發(fā)環(huán)境的使用。本書(shū)有上機(jī)指導(dǎo)配套教材,能夠滿(mǎn)足教學(xué)需要,也可作為初學(xué)者自學(xué)使用。主要內(nèi)容主要包括:Java語(yǔ)言概述,Java語(yǔ)法基礎(chǔ)、程序流程控制、類(lèi)的繼承與多態(tài)、抽象類(lèi)與接口、異常處理、集合類(lèi)、IO操作、多線(xiàn)程編程、網(wǎng)絡(luò)編程、圖形用戶(hù)界面、數(shù)據(jù)庫(kù)編程和Eclipse開(kāi)發(fā)環(huán)境的使用。全書(shū)選用的實(shí)驗(yàn)用例嚴(yán)格遵守編程規(guī)范,并提示編程思路與開(kāi)發(fā)技巧,能夠使讀者掌握較為扎實(shí)的Java語(yǔ)言基礎(chǔ),具備Java SE程序的實(shí)際開(kāi)發(fā)能力。
前言
作為一名程序開(kāi)發(fā)的初學(xué)者,首先應(yīng)該掌握一種先進(jìn)科學(xué)的程序設(shè)計(jì)思想。面向?qū)ο笫且环N為眾多程序員所使用的程序設(shè)計(jì)方法,其思想是按照現(xiàn)實(shí)世界的本來(lái)面貌來(lái)理解世界,直接通過(guò)對(duì)象及其相互關(guān)系來(lái)反映世界,這樣建立起來(lái)的系統(tǒng)才能符合現(xiàn)實(shí)世界的本來(lái)面目。面向?qū)ο蟪绦蛟O(shè)計(jì)思想對(duì)于程序員來(lái)說(shuō)極為重要,它是一種思維方式,直接決定了開(kāi)發(fā)的軟件質(zhì)量。Java語(yǔ)言是Sun公司于1995年正式推出的一種程序設(shè)計(jì)語(yǔ)言,在眾多面向?qū)ο蟪绦蛟O(shè)計(jì)語(yǔ)言中脫穎而出,它具有高性能、跨平臺(tái)性、可移植性、健壯性、安全性等優(yōu)良特性,以其獨(dú)特的魅力在軟件開(kāi)發(fā)領(lǐng)域占據(jù)絕對(duì)霸主的地位。
本書(shū)站在思想的高度上,讓讀者首先從感性上體會(huì)和理解面向?qū)ο笏枷氲睦砟睿^早地融入面向?qū)ο蟮氖澜,然后再利用Java語(yǔ)言逐個(gè)講解關(guān)于面向?qū)ο蟮闹R(shí)點(diǎn),使讀者不僅能夠?qū)W習(xí)到Java語(yǔ)言本身,還能最終掌握面向?qū)ο蟪绦蛟O(shè)計(jì)思想的精髓。
本書(shū)面向的讀者對(duì)象主要包括普通高等院校應(yīng)用型本科計(jì)算機(jī)相關(guān)專(zhuān)業(yè)的學(xué)生。綜合學(xué)生特點(diǎn)和當(dāng)前軟件行業(yè)的就業(yè)需求,編者總結(jié)實(shí)際教學(xué)經(jīng)驗(yàn)與體會(huì),設(shè)計(jì)各章節(jié)內(nèi)容及教學(xué)重點(diǎn)。書(shū)中實(shí)例蘊(yùn)含的思想大部分來(lái)自實(shí)際的工程項(xiàng)目經(jīng)驗(yàn),具有一定的實(shí)用性和參考價(jià)值。書(shū)中的注意和技巧兩個(gè)環(huán)節(jié)作為理論知識(shí)的補(bǔ)充,進(jìn)一步增強(qiáng)了本書(shū)的實(shí)踐性。
本書(shū)主要講解面向?qū)ο蟪绦蛟O(shè)計(jì)基礎(chǔ)、Java程序設(shè)計(jì)基礎(chǔ)、程序的流程控制、類(lèi)的特性、接口與多態(tài)、異常處理、對(duì)象的管理、I/O操作、多線(xiàn)程編程、網(wǎng)絡(luò)編程、Eclipse開(kāi)發(fā)環(huán)境的使用、圖形用戶(hù)界面編程Swing技術(shù)以及數(shù)據(jù)庫(kù)編程等內(nèi)容。本書(shū)章節(jié)安排合理,內(nèi)容循序漸進(jìn)。
全書(shū)注重提高讀者運(yùn)用Java語(yǔ)言和面向?qū)ο笏枷虢鉀Q實(shí)際問(wèn)題的實(shí)踐能力。在第1版的基礎(chǔ)上,本版將JDK的版本更新到8.0,介紹了必要的JDK8.0新特性。
全書(shū)分13章。
第1章介紹Java的發(fā)展歷史及Java語(yǔ)言的特性、面向?qū)ο蟪绦蛟O(shè)計(jì)中的基本概念及意義,講解JDK的安裝及配置方法,并使用Java語(yǔ)言編寫(xiě)第一個(gè)HelloWorld命令行程序。
第2章講解Java語(yǔ)言的基礎(chǔ)及程序結(jié)構(gòu),介紹Java程序的組織形式,Java中類(lèi)和對(duì)象的概念、修飾符、對(duì)象的創(chuàng)建與引用,Java支持的數(shù)據(jù)類(lèi)型和操作符。
第3章學(xué)習(xí)Java程序中的流程控制,包括選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)以及與程序轉(zhuǎn)移有關(guān)的其他流程控制語(yǔ)句,強(qiáng)調(diào)Java程序的流程控制與C語(yǔ)言程序設(shè)計(jì)的流程控制之間的不同。
第4章介紹Java面向?qū)ο蠹夹g(shù)的一大特性繼承,以及由繼承機(jī)制派生出的抽象類(lèi)等概念,同時(shí)介紹在編程中經(jīng)常使用的內(nèi)部類(lèi)等。
第5章討論深受軟件設(shè)計(jì)人員青睞的接口技術(shù)與多態(tài),學(xué)習(xí)接口的定義、應(yīng)用,及其與抽象類(lèi)的區(qū)別。此外,討論如何利用多態(tài)機(jī)制實(shí)現(xiàn)向上轉(zhuǎn)型,以及如何增強(qiáng)系統(tǒng)的可擴(kuò)展性。
第6章學(xué)習(xí)異常的概念、Java異常處理機(jī)制,包括trycatch、多重catch、trycatchfinally等幾種異常流程控制的使用,throws、throw關(guān)鍵字的應(yīng)用,以及如何使用自定義異常類(lèi)。
第7章講解在Java程序開(kāi)發(fā)中經(jīng)常使用的一種數(shù)據(jù)結(jié)構(gòu)集合類(lèi),介紹對(duì)象數(shù)組與普通數(shù)組的區(qū)別,重點(diǎn)學(xué)習(xí)ArrayList、LinkedList、Vector類(lèi)的使用,此外還包括HashSet、HashMap類(lèi)的使用以及泛型的概念。
第8章學(xué)習(xí)Java的I/O技術(shù),如何完成對(duì)各種外部設(shè)備的I/O操作,重點(diǎn)掌握對(duì)文件的操作,另外還討論了I/O流與通道的概念。
第9章討論Java的多線(xiàn)程編程,包括線(xiàn)程的概念,如何在程序中實(shí)現(xiàn)多線(xiàn)程,線(xiàn)程同步的作用等。
第10章講解Java的網(wǎng)絡(luò)編程,介紹網(wǎng)絡(luò)編程基礎(chǔ)知識(shí),理解端口和套接字,掌握使用InetAddress、ServerSocket等類(lèi)編寫(xiě)TCP、UDP程序。
第11章介紹Eclipse集成開(kāi)發(fā)環(huán)境,討論如何安裝Eclipse及其插件、創(chuàng)建Java項(xiàng)目、修改項(xiàng)目屬性、創(chuàng)建包和類(lèi)以及如何運(yùn)行程序,包括對(duì)存在缺陷的程序如何利用Eclipse進(jìn)行調(diào)試。
第12章介紹Swing技術(shù),在Eclipse環(huán)境下如何安裝Visual Editor插件實(shí)現(xiàn)一個(gè)簡(jiǎn)單的圖形用戶(hù)界面,接著重點(diǎn)講解Swing中容器的布局概念及各種組件的使用。
第13章介紹數(shù)據(jù)庫(kù)編程,討論JDBC技術(shù)的使用,最終使讀者能夠采用驅(qū)動(dòng)程序訪(fǎng)問(wèn)數(shù)據(jù)庫(kù),結(jié)合Swing技術(shù)開(kāi)發(fā)簡(jiǎn)單的桌面應(yīng)用程序。
本書(shū)第1章由柯瑜編寫(xiě),第2~5章由楊娜編寫(xiě),第6~7章、第13章由于靜編寫(xiě),第8~9章由顧鴻虹編寫(xiě),第10~12章由張虹編寫(xiě)。全書(shū)由于靜負(fù)責(zé)內(nèi)容結(jié)構(gòu)設(shè)計(jì)和統(tǒng)稿工作。
由于編者水平所限書(shū)中難免有疏漏之處,懇望讀者批評(píng)指正。
編者
2017年12月
目錄
第1章Java和面向?qū)ο蟮某绦蛟O(shè)計(jì)
1.1關(guān)于Java
1.1.1Java的出現(xiàn)
1.1.2Java的特性
1.1.3Java與C、C 語(yǔ)言的比較
1.2面向?qū)ο蟮某绦蛟O(shè)計(jì)
1.2.1面向?qū)ο笈c類(lèi)的概念
1.2.2面向?qū)ο蟪绦蛟O(shè)計(jì)的意義
1.3編寫(xiě)第一個(gè)Java程序
1.3.1安裝Java SE的JDK
1.3.2程序的編譯和運(yùn)行
1.3.3使用Java API的說(shuō)明文檔
1.4本章小結(jié)
習(xí)題1
第2章Java程序設(shè)計(jì)基礎(chǔ)
2.1Java程序的組織形式
2.1.1Java程序的基本要素
2.1.2Java程序的基本結(jié)構(gòu)
2.1.3Java包的概念
2.2Java中的類(lèi)與對(duì)象
2.2.1類(lèi)成員
2.2.2Java修飾符
2.2.3對(duì)象的初始化
2.2.4引用與對(duì)象
2.3在Java中操作數(shù)據(jù)類(lèi)型
2.3.1Java支持的數(shù)據(jù)類(lèi)型
2.3.2Java支持的操作符
2.4本章小結(jié)
習(xí)題2
第3章程序的流程控制
3.1Java流程控制概述
3.2選擇結(jié)構(gòu)
3.2.1if語(yǔ)句
3.2.2switch語(yǔ)句
3.2.3選擇結(jié)構(gòu)的嵌套
3.3循環(huán)結(jié)構(gòu)
3.3.1while循環(huán)
3.3.2dowhile循環(huán)
3.3.3for循環(huán)
3.3.4多重循環(huán)
3.4其他流程控制語(yǔ)句
3.4.1break語(yǔ)句
3.4.2continue語(yǔ)句
3.4.3return語(yǔ)句
3.5本章小結(jié)
習(xí)題3
第4章類(lèi)的特性
4.1類(lèi)的繼承
4.1.1父類(lèi)與子類(lèi)
4.1.2方法重寫(xiě)
4.1.3super關(guān)鍵字
4.2抽象類(lèi)
4.2.1抽象類(lèi)的概念
4.2.2抽象類(lèi)的作用
4.3內(nèi)部類(lèi)和匿名類(lèi)
4.3.1內(nèi)部類(lèi)
4.3.2內(nèi)部類(lèi)與外部類(lèi)的關(guān)系
4.3.3匿名類(lèi)
4.4本章小結(jié)
習(xí)題4
第5章接口與多態(tài)
5.1接口
5.1.1定義與實(shí)現(xiàn)接口
5.1.2接口的特性
5.1.3接口與抽象類(lèi)的區(qū)別
5.2多態(tài)
5.2.1向上轉(zhuǎn)型
5.2.2可擴(kuò)展性
5.3后期綁定
5.4本章小結(jié)
習(xí)題5
第6章異常
6.1異;A(chǔ)知識(shí)
6.1.1Java異常處理機(jī)制
6.1.2異常的分類(lèi)
6.2異常的處理過(guò)程
6.2.1trycatch
6.2.2finally
6.2.3trycatchfinally程序塊中的return
6.2.4throws
6.2.5throw
6.3自定義異常
6.4本章小結(jié)
習(xí)題6
第7章對(duì)象的管理
7.1使用對(duì)象數(shù)組
7.1.1對(duì)象數(shù)組的特點(diǎn)
7.1.2Arrays類(lèi)
7.2使用java.util包
7.2.1List集合
7.2.2Set集合
7.2.3Map集合
7.2.4Java中的泛型
7.3本章小結(jié)
習(xí)題7
第8章Java的I/O操作
8.1文件操作
8.1.1File類(lèi)
8.1.2利用File操作文件
8.2面向字節(jié)的I/O操作
8.2.1InputStream
8.2.2OutputStream
8.2.3使用字節(jié)流的Filter
8.3面向字符的I/O操作
8.3.1Reader
8.3.2Writer
8.3.3使用字符流的Filter
8.4對(duì)象的序列化
8.4.1序列化與永久存儲(chǔ)
8.4.2尋找類(lèi)
8.4.3對(duì)序列化的控制
8.5Java NIO
8.5.1NIO模式概述
8.5.2NIO中的緩沖
8.5.3NIO中的通道
8.5.4阻塞模式和非阻塞模式
8.6本章小結(jié)
習(xí)題8
第9章多線(xiàn)程編程
9.1多線(xiàn)程編程基礎(chǔ)
9.1.1單線(xiàn)程與多線(xiàn)程
9.1.2Java中使用多線(xiàn)程
9.2線(xiàn)程的操作方法
9.2.1線(xiàn)程休眠
9.2.2線(xiàn)程的中斷
9.2.3線(xiàn)程的優(yōu)先級(jí)
9.2.4線(xiàn)程的聯(lián)合
9.3線(xiàn)程之間的同步
9.3.1資源共享與資源鎖
9.3.2線(xiàn)程間通信
9.4使用Executors
9.5本章小結(jié)
習(xí)題9
第10章Java網(wǎng)絡(luò)編程
10.1網(wǎng)絡(luò)編程基礎(chǔ)
10.1.1網(wǎng)絡(luò)中計(jì)算機(jī)的定位
10.1.2TCP與UDP
10.2使用URL訪(fǎng)問(wèn)服務(wù)器
10.2.1獲得URL實(shí)例
10.2.2用URL訪(fǎng)問(wèn)網(wǎng)絡(luò)資源
10.3在Java中使用Socket
10.3.1一個(gè)簡(jiǎn)單的Socket連接
10.3.2TCP網(wǎng)絡(luò)編程
10.3.3UDP網(wǎng)絡(luò)編程
10.3.4利用NIO的非阻塞模式
10.4本章小結(jié)
習(xí)題10
第11章Eclipse開(kāi)發(fā)環(huán)境的使用
11.1Eclipse簡(jiǎn)介及安裝
11.1.1安裝Eclipse
11.1.2安裝多國(guó)語(yǔ)言包插件
11.1.3Eclipse界面
11.2在Eclipse中創(chuàng)建項(xiàng)目和類(lèi)
11.2.1創(chuàng)建Java項(xiàng)目
11.2.2項(xiàng)目屬性
11.2.3創(chuàng)建包和類(lèi)
11.2.4運(yùn)行程序
11.3使用Eclipse調(diào)試功能
11.4本章小結(jié)
習(xí)題11
第12章Swing程序設(shè)計(jì)基礎(chǔ)
12.1Swing GUI設(shè)計(jì)
12.1.1Swing與AWT
12.1.2安裝WindowBuilder插件
12.1.3一個(gè)簡(jiǎn)單的Swing實(shí)例
12.1.4事件與偵聽(tīng)器
12.2Swing中的容器
12.2.1容器的概念
12.2.2布局管理器
12.2.3綜合布局實(shí)例
12.3Swing中的常用組件
12.3.1標(biāo)簽
12.3.2文本框
12.3.3編輯框
12.3.4按鈕
12.3.5復(fù)選框
12.3.6單選按鈕
12.3.7下拉列表框
12.4Swing中的高級(jí)組件
12.4.1菜單
12.4.2對(duì)話(huà)框
12.4.3表格
12.4.4樹(shù)
12.5本章小結(jié)
習(xí)題12
第13章數(shù)據(jù)庫(kù)編程
13.1JDBC簡(jiǎn)介
13.2java.sql包
13.3訪(fǎng)問(wèn)數(shù)據(jù)庫(kù)
13.3.1創(chuàng)建數(shù)據(jù)庫(kù)連接
13.3.2關(guān)閉數(shù)據(jù)庫(kù)連接
13.3.3查詢(xún)數(shù)據(jù)
13.3.4更新數(shù)據(jù)庫(kù)
13.4使用預(yù)編譯SQL語(yǔ)句
13.5一個(gè)桌面應(yīng)用程序的實(shí)例
13.6本章小結(jié)
習(xí)題13
參考文獻(xiàn)