本書介紹Java語言的基礎(chǔ)知識及程序設(shè)計(jì)的基本方法,全書以實(shí)際問題的求解過程為向?qū),突出從問題到算法,再到程序的一種思維過程,強(qiáng)調(diào)計(jì)算機(jī)求解問題的思路引導(dǎo)與程序設(shè)計(jì)思維方式的訓(xùn)練。全書分為學(xué)習(xí)篇和實(shí)驗(yàn)篇。學(xué)習(xí)篇是課程學(xué)習(xí)的主要內(nèi)容,共分10章,其內(nèi)容體系大致分為三個(gè)部分。第一部分為第1章~第3章,這一部分從對Java語言的初步認(rèn)識入手,介紹Java語言的基本數(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ì)的概念和基本方法,包括類與對象、封裝、繼承與多態(tài)以及異常處理與輸入/輸出。第三部分為第7章~第10章,這一部分是對基礎(chǔ)知識的擴(kuò)充和發(fā)展,介紹Java的實(shí)際應(yīng)用,包括多線程、網(wǎng)絡(luò)程序設(shè)計(jì)、數(shù)據(jù)庫應(yīng)用以及圖形用戶界面開發(fā)技術(shù)。
本書可作為高等學(xué)校計(jì)算機(jī)程序設(shè)計(jì)課程的教材,也可供計(jì)算機(jī)應(yīng)用人員閱讀參考。
理論篇和實(shí)驗(yàn)篇相結(jié)合;
注重計(jì)算思維能力培養(yǎng);
可作為門程序設(shè)計(jì)課程教學(xué)。
計(jì)算機(jī)程序設(shè)計(jì)基礎(chǔ)是高校計(jì)算機(jī)基礎(chǔ)教學(xué)的核心課程,它以一種高級程序設(shè)計(jì)語言作為實(shí)現(xiàn)工具,介紹程序設(shè)計(jì)的基本思想和方法。通過本課程的學(xué)習(xí),使學(xué)生掌握利用計(jì)算機(jī)解決問題的基本思路和方法,了解程序設(shè)計(jì)語言的組成要素和基本特征,具有編寫程序和調(diào)試程序的基本技能。學(xué)習(xí)程序設(shè)計(jì)既可為學(xué)習(xí)后繼相關(guān)計(jì)算機(jī)課程奠定基礎(chǔ),也有助于學(xué)生更加深刻地理解計(jì)算機(jī)求解問題的基本思想和方法,因而計(jì)算機(jī)程序設(shè)計(jì)課程也是計(jì)算思維能力培養(yǎng)的重要載體,應(yīng)成為對學(xué)生進(jìn)行計(jì)算思維能力培養(yǎng)最直接、最具操作性的課程。
Java語言是目前流行的程序設(shè)計(jì)語言之一。隨著Internet技術(shù)的發(fā)展,特別是Web應(yīng)用開發(fā)技術(shù)的發(fā)展,Java語言受到業(yè)界的廣泛青睞,許多企業(yè)選擇Java及其相關(guān)技術(shù)來構(gòu)建它們的應(yīng)用系統(tǒng)。這一方面是因?yàn)镴ava語言具有面向?qū)ο、平臺無關(guān)性、可移植性、強(qiáng)壯性和安全性等優(yōu)良特性,另一方面也因?yàn)镴ava技術(shù)對各個(gè)層次的分布式應(yīng)用(包括嵌入式應(yīng)用、桌面應(yīng)用與企業(yè)級應(yīng)用)都提供了全面系統(tǒng)的方法與技術(shù)。因此,目前Java已不僅僅是一種單純的程序設(shè)計(jì)語言,而變成了一種支撐Internet應(yīng)用的龐大技術(shù)體系,是一種開發(fā)軟件的標(biāo)準(zhǔn)、規(guī)范與架構(gòu)的統(tǒng)稱。事實(shí)上,語言只是整個(gè)Java體系構(gòu)架中的一部分,學(xué)習(xí)Java本身也不僅僅在于學(xué)習(xí)如何使用Java語言的語法,更多的時(shí)候是在學(xué)習(xí)如何應(yīng)用Java所提供的資源與各種標(biāo)準(zhǔn),以開發(fā)出架構(gòu)更好、維護(hù)更容易的軟件。
本書介紹Java語言的基礎(chǔ)知識及程序設(shè)計(jì)的基本方法,全書以實(shí)際問題的求解過程為向?qū)В怀鰪膯栴}到算法,再到程序的一種思維過程,強(qiáng)調(diào)計(jì)算機(jī)求解問題的思路引導(dǎo)與程序設(shè)計(jì)思維方式的訓(xùn)練。全書分為學(xué)習(xí)篇和實(shí)驗(yàn)篇。學(xué)習(xí)篇是課程學(xué)習(xí)的主要內(nèi)容,共分10章,其內(nèi)容體系大致分為三個(gè)部分。第一部分為第1章~第3章,這一部分從對Java語言的初步認(rèn)識入手,介紹Java語言的基本數(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ì)的概念和基本方法,包括類與對象、封裝、繼承與多態(tài)以及異常處理與輸入/輸出。第三部分為第7章~第10章,這一部分是對基礎(chǔ)知識的擴(kuò)充和發(fā)展,介紹Java的實(shí)際應(yīng)用,包括多線程、網(wǎng)絡(luò)程序設(shè)計(jì)、數(shù)據(jù)庫應(yīng)用以及圖形用戶界面開發(fā)技術(shù)。
學(xué)習(xí)Java語言程序設(shè)計(jì),上機(jī)實(shí)踐十分重要。只有通過上機(jī)實(shí)踐,才能熟練掌握J(rèn)ava的語法知識,充分理解程序設(shè)計(jì)的基本思想和方法,并將所學(xué)知識應(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語法規(guī)則相關(guān)的內(nèi)容,也包含許多實(shí)際問題的程序設(shè)計(jì),從而增強(qiáng)學(xué)生的學(xué)習(xí)興趣,提高學(xué)生分析問題和解決問題的能力。
本書注重Java基礎(chǔ)知識的介紹,結(jié)合Java流程控制語句介紹了程序設(shè)計(jì)的基本知識和一些常用算法,因此本書可以作為第一門程序設(shè)計(jì)課程教學(xué)使用。同時(shí),本書也強(qiáng)調(diào)面向?qū)ο蟪绦蛟O(shè)計(jì)的核心技術(shù)和基本應(yīng)用技術(shù),因此也可供具有一定程序設(shè)計(jì)基礎(chǔ)和經(jīng)驗(yàn)的讀者閱讀參考。
本書由劉衛(wèi)國擔(dān)任主編,參加編寫的有童鍵、舒衛(wèi)真、彭勝、黎明、姚昱旻、柳小文、郭美、肖敏、李首洪、李博、鄒奇林、周克濤、孫士闖、張娟、毛穎等。鄒北驥教授、施榮華教授、彭小寧教授對本書的編寫給予了許多指導(dǎo),在此表示誠摯的感謝。
由于作者學(xué)識水平有限,書中的疏漏或錯(cuò)誤之處在所難免,懇請廣大讀者批評指正。
作 者
2016年5月
劉衛(wèi)國,博士,中南大學(xué)教授,教育部文科計(jì)算機(jī)基礎(chǔ)教學(xué)指導(dǎo)分委員會委員,美國加州大學(xué)圣地亞哥分校(UCSD)訪問學(xué)者。從事大學(xué)計(jì)算機(jī)課程教學(xué)工作,承擔(dān)省部級教學(xué)改革項(xiàng)目5項(xiàng),曾獲省教學(xué)成果二等獎(jiǎng)、省高等學(xué)校優(yōu)秀教材獎(jiǎng),主編高等教育“十一五”國家級規(guī)劃教材3部,曾獲茅以升鐵路教育專項(xiàng)獎(jiǎng)(教學(xué)專項(xiàng)獎(jiǎng))。主要從事網(wǎng)絡(luò)與信息安全、智能信息處理領(lǐng)域研究,發(fā)表相關(guān)研究論文40余篇,承擔(dān)完成國家自然科學(xué)基金、省自然科學(xué)基金等項(xiàng)目多項(xiàng)。
學(xué)習(xí)篇
第1章 概 述
1.1 Java語言的發(fā)展歷史與應(yīng)用
1.1.1 Java語言的發(fā)展歷史
1.1.2 Java語言的應(yīng)用
1.2 Java語言的特點(diǎn)
1.3 Java程序的運(yùn)行機(jī)制
1.3.1 Java程序的分類
1.3.2 Java程序的運(yùn)行過程
1.3.3 Java虛擬機(jī)
1.4 Java程序的運(yùn)行環(huán)境
1.4.1 Java平臺的版本選擇
1.4.2 Java開發(fā)工具—JDK
1.4.3 Java集成開發(fā)環(huán)境—NetBeans
1.4.4 簡單的Java程序
本章小結(jié)
習(xí)題1
第2章 程序的數(shù)據(jù)描述
2.1 Java符號集
2.1.1 Java中的標(biāo)識符
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)先級及結(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語句
3.2.2 基本輸入輸出
3.2.3 順序結(jié)構(gòu)程序舉例
3.3 選擇結(jié)構(gòu)程序
3.3.1 單分支條件語句
3.3.2 雙分支條件語句
3.3.3 多分支條件語句
3.3.4 開關(guān)語句switch
3.3.5 分支結(jié)構(gòu)程序舉例
3.4 循環(huán)結(jié)構(gòu)程序
3.4.1 for循環(huán)語句
3.4.2 while循環(huán)語句
3.4.3 do-while循環(huán)語句
3.4.4 嵌套循環(huán)
3.4.5 循環(huán)結(jié)構(gòu)程序舉例
3.5 跳轉(zhuǎn)語句
3.5.1 break語句
3.5.2 continue語句
本章小結(jié)
習(xí)題3
第4章 類與對象
4.1 面向?qū)ο蟮幕靖拍?
4.1.1 對象、類和消息
4.1.2 面向?qū)ο蟮奶匦?
4.2 Java類
4.2.1 類的基本結(jié)構(gòu)
4.2.2 類的成員
4.2.3 構(gòu)造方法
4.3 Java對象
4.3.1 對象的創(chuàng)建和初始化
4.3.2 對象的引用和清除
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 訪問控制符
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í)體流與過濾流
6.2.4 標(biāo)準(zhǔn)輸入輸出對象
6.3 字節(jié)流應(yīng)用
6.3.1 InputStream和OutputStream
6.3.2 常用實(shí)體流
6.3.3 常用過濾流
6.3.4 使用示例
6.4 字符流應(yīng)用
6.4.1 Reader和Writer
6.4.2 字符流中的實(shí)體流和過濾流
6.4.3 InputStreamReader和OutputStreamWriter
6.4.4 使用示例
6.5 文件處理
6.5.1 File類
6.5.2 文件的順序讀寫
6.5.3 文件的隨機(jī)訪問
本章小結(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ǔ)知識
8.1.1 TCP/IP簡介
8.1.2 地址、域名與端口號
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ù)庫應(yīng)用開發(fā)
9.1 JDBC概述
9.1.1 數(shù)據(jù)庫的基本概念
9.1.2 JDBC的原理
9.2 數(shù)據(jù)庫訪問
9.2.1 JDBC的常用接口和類
9.2.2 JDBC數(shù)據(jù)庫連接
9.2.3 JDBC數(shù)據(jù)庫操作
本章小結(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中的高級控件
10.4 使用Netbeans開發(fā)簡單的GUI應(yīng)用
10.4.1 Netbeans的GUI生成器
10.4.2 Netbeans的GUI開發(fā)案例
本章小結(jié)
習(xí)題10
實(shí)驗(yàn)篇
實(shí)驗(yàn)1 簡單的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類與對象
實(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ù)庫應(yīng)用開發(fā)
實(shí)驗(yàn)14 圖形用戶界面設(shè)計(jì)
參考文獻(xiàn)