本書(shū)介紹Java語(yǔ)言的基礎(chǔ)知識(shí)及程序設(shè)計(jì)的基本方法,全書(shū)以實(shí)際問(wèn)題的求解過(guò)程為向?qū)В怀鰪膯?wèn)題到算法,再到程序的一種思維過(guò)程,強(qiáng)調(diào)計(jì)算機(jī)求解問(wèn)題的思路引導(dǎo)與程序設(shè)計(jì)思維方式的訓(xùn)練。全書(shū)分為學(xué)習(xí)篇和實(shí)驗(yàn)篇。學(xué)習(xí)篇是課程學(xué)習(xí)的主要內(nèi)容,共分10章,其內(nèi)容體系大致分為三個(gè)部分。第一部分為第1章~第3章,這一部分從對(duì)Java語(yǔ)言的初步認(rèn)識(shí)入手,介紹Java語(yǔ)言的基本數(shù)據(jù)類型與運(yùn)算、程序的3種基本結(jié)構(gòu)及其實(shí)現(xiàn)方法,包括概述、程序的數(shù)據(jù)描述以及程序控制結(jié)構(gòu)。第二部分為第4章~第6章,這一部分是Java的核心與特色內(nèi)容,介紹面向?qū)ο蟪绦蛟O(shè)計(jì)的概念和基本方法,包括類與對(duì)象、封裝、繼承與多態(tài)以及異常處理與輸入/輸出。第三部分為第7章~第10章,這一部分是對(duì)基礎(chǔ)知識(shí)的擴(kuò)充和發(fā)展,介紹Java的實(shí)際應(yīng)用,包括多線程、網(wǎng)絡(luò)程序設(shè)計(jì)、數(shù)據(jù)庫(kù)應(yīng)用以及圖形用戶界面開(kāi)發(fā)技術(shù)。
本書(shū)可作為高等學(xué)校計(jì)算機(jī)程序設(shè)計(jì)課程的教材,也可供計(jì)算機(jī)應(yīng)用人員閱讀參考。
理論篇和實(shí)驗(yàn)篇相結(jié)合;
注重計(jì)算思維能力培養(yǎng);
可作為門(mén)程序設(shè)計(jì)課程教學(xué)。
計(jì)算機(jī)程序設(shè)計(jì)基礎(chǔ)是高校計(jì)算機(jī)基礎(chǔ)教學(xué)的核心課程,它以一種高級(jí)程序設(shè)計(jì)語(yǔ)言作為實(shí)現(xiàn)工具,介紹程序設(shè)計(jì)的基本思想和方法。通過(guò)本課程的學(xué)習(xí),使學(xué)生掌握利用計(jì)算機(jī)解決問(wèn)題的基本思路和方法,了解程序設(shè)計(jì)語(yǔ)言的組成要素和基本特征,具有編寫(xiě)程序和調(diào)試程序的基本技能。學(xué)習(xí)程序設(shè)計(jì)既可為學(xué)習(xí)后繼相關(guān)計(jì)算機(jī)課程奠定基礎(chǔ),也有助于學(xué)生更加深刻地理解計(jì)算機(jī)求解問(wèn)題的基本思想和方法,因而計(jì)算機(jī)程序設(shè)計(jì)課程也是計(jì)算思維能力培養(yǎng)的重要載體,應(yīng)成為對(duì)學(xué)生進(jìn)行計(jì)算思維能力培養(yǎng)最直接、最具操作性的課程。
Java語(yǔ)言是目前流行的程序設(shè)計(jì)語(yǔ)言之一。隨著Internet技術(shù)的發(fā)展,特別是Web應(yīng)用開(kāi)發(fā)技術(shù)的發(fā)展,Java語(yǔ)言受到業(yè)界的廣泛青睞,許多企業(yè)選擇Java及其相關(guān)技術(shù)來(lái)構(gòu)建它們的應(yīng)用系統(tǒng)。這一方面是因?yàn)镴ava語(yǔ)言具有面向?qū)ο、平臺(tái)無(wú)關(guān)性、可移植性、強(qiáng)壯性和安全性等優(yōu)良特性,另一方面也因?yàn)镴ava技術(shù)對(duì)各個(gè)層次的分布式應(yīng)用(包括嵌入式應(yīng)用、桌面應(yīng)用與企業(yè)級(jí)應(yīng)用)都提供了全面系統(tǒng)的方法與技術(shù)。因此,目前Java已不僅僅是一種單純的程序設(shè)計(jì)語(yǔ)言,而變成了一種支撐Internet應(yīng)用的龐大技術(shù)體系,是一種開(kāi)發(fā)軟件的標(biāo)準(zhǔn)、規(guī)范與架構(gòu)的統(tǒng)稱。事實(shí)上,語(yǔ)言只是整個(gè)Java體系構(gòu)架中的一部分,學(xué)習(xí)Java本身也不僅僅在于學(xué)習(xí)如何使用Java語(yǔ)言的語(yǔ)法,更多的時(shí)候是在學(xué)習(xí)如何應(yīng)用Java所提供的資源與各種標(biāo)準(zhǔn),以開(kāi)發(fā)出架構(gòu)更好、維護(hù)更容易的軟件。
本書(shū)介紹Java語(yǔ)言的基礎(chǔ)知識(shí)及程序設(shè)計(jì)的基本方法,全書(shū)以實(shí)際問(wèn)題的求解過(guò)程為向?qū),突出從?wèn)題到算法,再到程序的一種思維過(guò)程,強(qiáng)調(diào)計(jì)算機(jī)求解問(wèn)題的思路引導(dǎo)與程序設(shè)計(jì)思維方式的訓(xùn)練。全書(shū)分為學(xué)習(xí)篇和實(shí)驗(yàn)篇。學(xué)習(xí)篇是課程學(xué)習(xí)的主要內(nèi)容,共分10章,其內(nèi)容體系大致分為三個(gè)部分。第一部分為第1章~第3章,這一部分從對(duì)Java語(yǔ)言的初步認(rèn)識(shí)入手,介紹Java語(yǔ)言的基本數(shù)據(jù)類型與運(yùn)算、程序的3種基本結(jié)構(gòu)及其實(shí)現(xiàn)方法,包括概述、程序的數(shù)據(jù)描述以及程序控制結(jié)構(gòu)。第二部分為第4章~第6章,這一部分是Java的核心與特色內(nèi)容,介紹面向?qū)ο蟪绦蛟O(shè)計(jì)的概念和基本方法,包括類與對(duì)象、封裝、繼承與多態(tài)以及異常處理與輸入/輸出。第三部分為第7章~第10章,這一部分是對(duì)基礎(chǔ)知識(shí)的擴(kuò)充和發(fā)展,介紹Java的實(shí)際應(yīng)用,包括多線程、網(wǎng)絡(luò)程序設(shè)計(jì)、數(shù)據(jù)庫(kù)應(yīng)用以及圖形用戶界面開(kāi)發(fā)技術(shù)。
學(xué)習(xí)Java語(yǔ)言程序設(shè)計(jì),上機(jī)實(shí)踐十分重要。只有通過(guò)上機(jī)實(shí)踐,才能熟練掌握J(rèn)ava的語(yǔ)法知識(shí),充分理解程序設(shè)計(jì)的基本思想和方法,并將所學(xué)知識(shí)應(yīng)用到實(shí)際中去。為了方便讀者上機(jī)練習(xí),實(shí)驗(yàn)篇中提供了14個(gè)實(shí)驗(yàn),每個(gè)實(shí)驗(yàn)都和課程學(xué)習(xí)內(nèi)容相配合,讀者可以根據(jù)實(shí)際情況從每個(gè)實(shí)驗(yàn)中選擇部分內(nèi)容作為上機(jī)練習(xí)。實(shí)驗(yàn)內(nèi)容既包含與Java語(yǔ)法規(guī)則相關(guān)的內(nèi)容,也包含許多實(shí)際問(wèn)題的程序設(shè)計(jì),從而增強(qiáng)學(xué)生的學(xué)習(xí)興趣,提高學(xué)生分析問(wèn)題和解決問(wèn)題的能力。
本書(shū)注重Java基礎(chǔ)知識(shí)的介紹,結(jié)合Java流程控制語(yǔ)句介紹了程序設(shè)計(jì)的基本知識(shí)和一些常用算法,因此本書(shū)可以作為第一門(mén)程序設(shè)計(jì)課程教學(xué)使用。同時(shí),本書(shū)也強(qiáng)調(diào)面向?qū)ο蟪绦蛟O(shè)計(jì)的核心技術(shù)和基本應(yīng)用技術(shù),因此也可供具有一定程序設(shè)計(jì)基礎(chǔ)和經(jīng)驗(yàn)的讀者閱讀參考。
本書(shū)由劉衛(wèi)國(guó)擔(dān)任主編,參加編寫(xiě)的有童鍵、舒衛(wèi)真、彭勝、黎明、姚昱旻、柳小文、郭美、肖敏、李首洪、李博、鄒奇林、周克濤、孫士闖、張娟、毛穎等。鄒北驥教授、施榮華教授、彭小寧教授對(duì)本書(shū)的編寫(xiě)給予了許多指導(dǎo),在此表示誠(chéng)摯的感謝。
由于作者學(xué)識(shí)水平有限,書(shū)中的疏漏或錯(cuò)誤之處在所難免,懇請(qǐng)廣大讀者批評(píng)指正。
作 者
2016年5月
劉衛(wèi)國(guó),博士,中南大學(xué)教授,教育部文科計(jì)算機(jī)基礎(chǔ)教學(xué)指導(dǎo)分委員會(huì)委員,美國(guó)加州大學(xué)圣地亞哥分校(UCSD)訪問(wèn)學(xué)者。從事大學(xué)計(jì)算機(jī)課程教學(xué)工作,承擔(dān)省部級(jí)教學(xué)改革項(xiàng)目5項(xiàng),曾獲省教學(xué)成果二等獎(jiǎng)、省高等學(xué)校優(yōu)秀教材獎(jiǎng),主編高等教育“十一五”國(guó)家級(jí)規(guī)劃教材3部,曾獲茅以升鐵路教育專項(xiàng)獎(jiǎng)(教學(xué)專項(xiàng)獎(jiǎng))。主要從事網(wǎng)絡(luò)與信息安全、智能信息處理領(lǐng)域研究,發(fā)表相關(guān)研究論文40余篇,承擔(dān)完成國(guó)家自然科學(xué)基金、省自然科學(xué)基金等項(xiàng)目多項(xiàng)。
學(xué)習(xí)篇
第1章 概 述
1.1 Java語(yǔ)言的發(fā)展歷史與應(yīng)用
1.1.1 Java語(yǔ)言的發(fā)展歷史
1.1.2 Java語(yǔ)言的應(yīng)用
1.2 Java語(yǔ)言的特點(diǎn)
1.3 Java程序的運(yùn)行機(jī)制
1.3.1 Java程序的分類
1.3.2 Java程序的運(yùn)行過(guò)程
1.3.3 Java虛擬機(jī)
1.4 Java程序的運(yùn)行環(huán)境
1.4.1 Java平臺(tái)的版本選擇
1.4.2 Java開(kāi)發(fā)工具—JDK
1.4.3 Java集成開(kāi)發(fā)環(huán)境—NetBeans
1.4.4 簡(jiǎn)單的Java程序
本章小結(jié)
習(xí)題1
第2章 程序的數(shù)據(jù)描述
2.1 Java符號(hào)集
2.1.1 Java中的標(biāo)識(shí)符
2.1.2 Java的關(guān)鍵字
2.1.3 Java的分隔符
2.2 常量和變量
2.2.1 常量
2.2.2 變量
2.3 基本數(shù)據(jù)類型
2.3.1 整型
2.3.2 浮點(diǎn)型
2.3.3 字符型
2.3.4 布爾型
2.3.5 基本數(shù)據(jù)類型值間的轉(zhuǎn)換
2.3.6 基本數(shù)據(jù)類型類
2.4 常用數(shù)值計(jì)算方法
2.5 運(yùn)算符和表達(dá)式
2.5.1 賦值運(yùn)算
2.5.2 算術(shù)運(yùn)算
2.5.3 關(guān)系運(yùn)算與邏輯運(yùn)算
2.5.4 位運(yùn)算符
2.5.5 其他運(yùn)算
2.5.6 運(yùn)算符的優(yōu)先級(jí)及結(jié)合性
2.6 字符串
2.6.1 String類
2.6.2 StringBuffer類
2.7 數(shù)組
2.7.1 數(shù)組的概念與創(chuàng)建
2.7.2 數(shù)組的引用
本章小結(jié)
習(xí)題2
第3章 程序控制結(jié)構(gòu)
3.1 程序設(shè)計(jì)概述
3.1.1 程序設(shè)計(jì)的基本步驟
3.1.2 算法及其描述
3.2 順序結(jié)構(gòu)程序
3.2.1 Java語(yǔ)句
3.2.2 基本輸入輸出
3.2.3 順序結(jié)構(gòu)程序舉例
3.3 選擇結(jié)構(gòu)程序
3.3.1 單分支條件語(yǔ)句
3.3.2 雙分支條件語(yǔ)句
3.3.3 多分支條件語(yǔ)句
3.3.4 開(kāi)關(guān)語(yǔ)句switch
3.3.5 分支結(jié)構(gòu)程序舉例
3.4 循環(huán)結(jié)構(gòu)程序
3.4.1 for循環(huán)語(yǔ)句
3.4.2 while循環(huán)語(yǔ)句
3.4.3 do-while循環(huán)語(yǔ)句
3.4.4 嵌套循環(huán)
3.4.5 循環(huán)結(jié)構(gòu)程序舉例
3.5 跳轉(zhuǎn)語(yǔ)句
3.5.1 break語(yǔ)句
3.5.2 continue語(yǔ)句
本章小結(jié)
習(xí)題3
第4章 類與對(duì)象
4.1 面向?qū)ο蟮幕靖拍?
4.1.1 對(duì)象、類和消息
4.1.2 面向?qū)ο蟮奶匦?
4.2 Java類
4.2.1 類的基本結(jié)構(gòu)
4.2.2 類的成員
4.2.3 構(gòu)造方法
4.3 Java對(duì)象
4.3.1 對(duì)象的創(chuàng)建和初始化
4.3.2 對(duì)象的引用和清除
4.3.3 方法的調(diào)用
4.4 包
4.4.1 包的概念
4.4.2 包的創(chuàng)建與使用
本章小結(jié)
習(xí)題4
第5章 封裝、繼承與多態(tài)
5.1 封裝
5.1.1 封裝的概念
5.1.2 訪問(wèn)控制符
5.2 繼承
5.2.1 繼承的概念
5.2.2 繼承的應(yīng)用
5.2.3 this與super
5.2.4 繼承的終止
5.3 多態(tài)
5.3.1 方法重載
5.3.2 方法覆蓋與變量多態(tài)
5.3.3 抽象類
5.4 接口
5.4.1 接口的概念
5.4.2 接口的應(yīng)用
5.4.3 抽象類與接口的比較
本章小結(jié)
習(xí)題5
第6章 異常處理與輸入輸出
6.1 異常處理
6.1.1 異常的概念
6.1.2 異常的處理
6.1.3 異常類的層次結(jié)構(gòu)
6.1.4 自定義異常
6.1.5 異常處理的使用原則
6.2 Java的I/O處理
6.2.1 I/O流的概念
6.2.2 基本的I/O類
6.2.3 實(shí)體流與過(guò)濾流
6.2.4 標(biāo)準(zhǔn)輸入輸出對(duì)象
6.3 字節(jié)流應(yīng)用
6.3.1 InputStream和OutputStream
6.3.2 常用實(shí)體流
6.3.3 常用過(guò)濾流
6.3.4 使用示例
6.4 字符流應(yīng)用
6.4.1 Reader和Writer
6.4.2 字符流中的實(shí)體流和過(guò)濾流
6.4.3 InputStreamReader和OutputStreamWriter
6.4.4 使用示例
6.5 文件處理
6.5.1 File類
6.5.2 文件的順序讀寫(xiě)
6.5.3 文件的隨機(jī)訪問(wèn)
本章小結(jié)
習(xí)題6
第7章 多線程
7.1 進(jìn)程與線程
7.1.1 進(jìn)程的概念
7.1.2 線程的概念
7.2 線程的創(chuàng)建
7.2.1 繼承Thread類
7.2.2 實(shí)現(xiàn)Runnable接口
7.2.3 兩種創(chuàng)建方式的比較
7.2.4 線程的生命周期
7.3 線程的調(diào)度與同步機(jī)制
7.3.1 線程調(diào)度
7.3.2 線程的同步
7.4 線程的通信
7.5 多線程應(yīng)用實(shí)例
本章小結(jié)
習(xí)題7
第8章 網(wǎng)絡(luò)程序設(shè)計(jì)
8.1 網(wǎng)絡(luò)程序設(shè)計(jì)基礎(chǔ)知識(shí)
8.1.1 TCP/IP簡(jiǎn)介
8.1.2 地址、域名與端口號(hào)
8.1.3 InetAddress類
8.2 URL編程
8.2.1 URL類
8.2.2 URLConnection類
8.3 Socket編程
8.3.1 Socket的概念
8.3.2 Socket編程
8.4 Datagram編程
8.4.1 Datagram的概念
8.4.2 Datagram編程的方法
本章小結(jié)
習(xí)題8
第9章 數(shù)據(jù)庫(kù)應(yīng)用開(kāi)發(fā)
9.1 JDBC概述
9.1.1 數(shù)據(jù)庫(kù)的基本概念
9.1.2 JDBC的原理
9.2 數(shù)據(jù)庫(kù)訪問(wèn)
9.2.1 JDBC的常用接口和類
9.2.2 JDBC數(shù)據(jù)庫(kù)連接
9.2.3 JDBC數(shù)據(jù)庫(kù)操作
本章小結(jié)
習(xí)題9
第10章 Java圖形用戶界面設(shè)計(jì)
10.1 圖形用戶界面設(shè)計(jì)概述
10.1.1 Java圖形用戶界面工具
10.1.2 Java圖形用戶界面的構(gòu)成
10.2 容器和布局管理器
10.2.1 Swing的常用容器
10.2.2 常用的布局管理器
10.3 Swing的常用控件
10.3.1 Swing標(biāo)簽和文本框
10.3.2 Swing命令按鈕
10.3.3 Swing的組合框和列表框
10.3.4 Swing復(fù)選框和單選按鈕
10.3.5 Swing中的高級(jí)控件
10.4 使用Netbeans開(kāi)發(fā)簡(jiǎn)單的GUI應(yīng)用
10.4.1 Netbeans的GUI生成器
10.4.2 Netbeans的GUI開(kāi)發(fā)案例
本章小結(jié)
習(xí)題10
實(shí)驗(yàn)篇
實(shí)驗(yàn)1 簡(jiǎn)單的Java程序
實(shí)驗(yàn)2 程序的數(shù)據(jù)描述
實(shí)驗(yàn)3 順序結(jié)構(gòu)程序
實(shí)驗(yàn)4 選擇結(jié)構(gòu)程序
實(shí)驗(yàn)5 循環(huán)結(jié)構(gòu)程序
實(shí)驗(yàn)6 字符串處理與數(shù)組應(yīng)用
實(shí)驗(yàn)7 Java類與對(duì)象
實(shí)驗(yàn)8 類的繼承和多態(tài)機(jī)制
實(shí)驗(yàn)9 異常處理
實(shí)驗(yàn)10 輸入輸出處理
實(shí)驗(yàn)11 多線程編程
實(shí)驗(yàn)12 網(wǎng)絡(luò)程序設(shè)計(jì)
實(shí)驗(yàn)13 數(shù)據(jù)庫(kù)應(yīng)用開(kāi)發(fā)
實(shí)驗(yàn)14 圖形用戶界面設(shè)計(jì)
參考文獻(xiàn)