本書面向以Java為入門語言的程序設(shè)計課程,力求通過“激發(fā)興趣、強(qiáng)化實踐”的方式培養(yǎng)學(xué)生的程序設(shè)計能力。 全書共分為9章,內(nèi)容包括Java程序設(shè)計概述、Java語言基礎(chǔ)、程序流程控制、數(shù)組、類與對象、類的繼承、異常處理和輸入/輸出、圖形用戶界面,以及集合、反射與泛型。本書注重面向?qū)ο蟮木幊虒嵺`和問題分析能力的訓(xùn)練,使用大量例題幫助讀者理解和應(yīng)用知識,通俗易懂,便于自學(xué)。 本書適合作為高等學(xué)校程序設(shè)計相關(guān)課程的教材,也可以作為自學(xué)用書。
韓建平,男,博士,教授,計算機(jī)科學(xué)與技術(shù)學(xué)科碩士生導(dǎo)師。1990年畢業(yè)于南京航空學(xué)院計算機(jī)軟件專業(yè),獲得學(xué)士學(xué)位;1996年畢業(yè)于南京航空航天大學(xué)計算機(jī)應(yīng)用專業(yè),獲得碩士學(xué)位;2010年畢業(yè)于浙江大學(xué)計算機(jī)科學(xué)與技術(shù)專業(yè),獲得博士學(xué)位。現(xiàn)任計算機(jī)學(xué)院計算機(jī)基礎(chǔ)教學(xué)部主任。為國家級計算機(jī)基礎(chǔ)課程團(tuán)隊主要成員,曾獲得校十佳教師、校教學(xué)杰出獎、校卓越名師提名獎等榮譽(yù)。目前主要從事圖像處理與模式識別、視覺監(jiān)控、嵌入式系統(tǒng)及應(yīng)用等方面的研究與開發(fā)應(yīng)用,近年來主持和參與省級以上科研10余項及教改項目4項,在中國圖象圖形學(xué)報等期刊發(fā)表學(xué)術(shù)論文20余篇,主編教材5部,其中一部為省級重點建設(shè)教材;成果先后獲得浙江省科技進(jìn)步二等獎、浙江省教學(xué)成果一等獎和國家級教學(xué)成果二等獎。
目 錄
第1章 Java程序設(shè)計概述 1
1.1 Java語言簡介 1
1.1.1 程序與程序設(shè)計語言 1
1.1.2 Java語言的發(fā)展 2
1.1.3 Java語言的特點 3
1.2 Java程序的開發(fā)環(huán)境 4
1.2.1 JDK 4
1.2.2 Eclipse集成開發(fā)環(huán)境 4
1.2.3 初識Java程序 6
習(xí)題一 7
第2章 Java語言基礎(chǔ) 8
2.1 標(biāo)識符和關(guān)鍵字 8
2.1.1 關(guān)鍵字 8
2.1.2 標(biāo)識符 9
2.2 常量、變量與基本數(shù)據(jù)類型 9
2.2.1 基本數(shù)據(jù)類型 9
2.2.2 常量 11
2.2.3 變量 13
2.3 基本輸入與輸出語句 14
2.3.1 基本輸出語句 14
2.3.2 基本輸入語句 16
2.4 運算符與表達(dá)式 17
2.4.1 賦值運算符與賦值表達(dá)式 17
2.4.2 算術(shù)運算符與算術(shù)表達(dá)式 18
2.4.3 關(guān)系運算符與關(guān)系表達(dá)式 20
2.4.4 邏輯運算符與邏輯表達(dá)式 20
2.4.5 其他運算符與表達(dá)式 22
2.4.6 表達(dá)式的處理規(guī)則 23
2.5 范例 25
習(xí)題二 27
第3章 程序流程控制 29
3.1 順序與分支結(jié)構(gòu) 29
3.1.1 順序結(jié)構(gòu) 29
3.1.2 if語句實現(xiàn)分支結(jié)構(gòu) 29
3.1.3 if-else語句實現(xiàn)分支結(jié)構(gòu) 30
3.1.4 嵌套if語句實現(xiàn)多分支結(jié)構(gòu) 32
3.1.5 switch語句實現(xiàn)多分支結(jié)構(gòu) 33
3.2 循環(huán)控制結(jié)構(gòu) 34
3.2.1 while語句實現(xiàn)循環(huán)結(jié)構(gòu) 35
3.2.2 do-while語句實現(xiàn)循環(huán)結(jié)構(gòu) 36
3.2.3 for語句實現(xiàn)循環(huán)結(jié)構(gòu) 37
3.2.4 break語句 39
3.2.5 continue語句 40
3.2.6 循環(huán)嵌套 41
3.2.7 帶標(biāo)號的break語句 42
3.2.8 帶標(biāo)號的continue語句 43
3.3 方法 44
3.3.1 方法的定義與調(diào)用 44
3.3.2 方法的參數(shù)和返回值 45
3.3.3 方法的嵌套調(diào)用 46
3.3.4 方法的遞歸調(diào)用 47
3.4 范例 47
習(xí)題三 58
第4章 數(shù)組 61
4.1 一維數(shù)組 61
4.1.1 一維數(shù)組的聲明與訪問 61
4.1.2 順序查找 64
4.1.3 二分查找 64
4.1.4 選擇排序 65
4.1.5 冒泡排序 66
4.2 二維數(shù)組 67
4.2.1 二維數(shù)組的聲明、創(chuàng)建與初始化 67
4.2.2 用二維數(shù)組表示矩陣 69
4.3 范例 71
習(xí)題四 77
第5章 類與對象 80
5.1 類的定義與對象的創(chuàng)建 80
5.1.1 類的定義——通用描述 80
5.1.2 對象的創(chuàng)建與引用 81
5.1.3 構(gòu)造方法與對象初始化 82
5.1.4 方法的重載 85
5.1.5 this關(guān)鍵字 86
5.2 類的靜態(tài)成員 88
5.2.1 靜態(tài)變量 88
5.2.2 靜態(tài)方法 89
5.3 Java常用類 90
5.3.1 String類 90
5.3.2 StringBuffer類 92
5.3.3 Math類 94
5.3.4 Date類 95
5.4 范例 95
習(xí)題五 103
第6章 類的繼承 109
6.1 繼承的基本方法 109
6.1.1 子類的定義 109
6.1.2 覆蓋父類方法 110
6.1.3 重載父類方法 111
6.1.4 super關(guān)鍵字 112
6.2 訪問控制屬性 113
6.2.1 類與包 113
6.2.2 類的訪問控制 115
6.2.3 類成員的訪問控制 116
6.3 抽象類與接口 118
6.3.1 抽象方法與抽象類 118
6.3.2 接口 119
6.4 內(nèi)部類與匿名類 121
6.4.1 內(nèi)部類 121
6.4.2 匿名類 122
6.5 范例 123
習(xí)題六 128
第7章 異常處理和輸入/輸出 133
7.1 異常處理 133
7.1.1 什么是異常 133
7.1.2 用try-catch-finally結(jié)構(gòu)處理異常 134
7.1.3 用多catch結(jié)構(gòu)處理異常 135
7.1.4 用throws聲明拋出異常 137
7.2 輸入/輸出處理 138
7.2.1 什么是數(shù)據(jù)流 138
7.2.2 通過FileReader輸入流讀文件 139
7.2.3 通過FileWriter輸出流寫文件 140
7.2.4 通過字節(jié)流讀寫文件 141
7.2.5 File類 143
7.2.6 通過RandomAccessFile類讀寫文件 144
7.3 序列化 146
7.3.1 序列化類實現(xiàn)Serializable接口 146
7.3.2 實現(xiàn)Externalizable接口 147
7.3.3 可序列化類的不同版本的序列化兼容性 147
7.4 范例 149
習(xí)題七 154
第8章 圖形用戶界面 157
8.1 初識GUI 157
8.1.1 窗體JFrame 157
8.1.2 控件嵌套 158
8.2 用戶事件響應(yīng) 159
8.2.1 事件處理模型 159
8.2.2 以內(nèi)部類的方式實現(xiàn)監(jiān)聽器 161
8.3 布局器 163
8.3.1 流布局器 163
8.3.2 邊界布局器 164
8.3.3 網(wǎng)格布局器 166
8.4 常用的Swing控件 167
8.4.1 文本框 167
8.4.2 文本域 169
8.4.3 組合框 170
8.4.4 復(fù)選框和單選按鈕 171
8.4.5 菜單 173
8.5 繪圖 177
8.5.1 添加圖片 177
8.5.2 圖形繪制 178
8.6 范例 180
習(xí)題八 189
第9章 集合、反射與泛型 190
9.1 集合 190
9.1.1 List接口 190
9.1.2 Set接口 198
9.1.3 Map接口 203
9.1.4 Collection接口 207
9.2 反射 210
9.2.1 類反射 210
9.2.2 標(biāo)注 212
9.3 泛型 214
9.4 范例 219
習(xí)題九 231
附錄A 232