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