本書面向以Java為入門語言的程序設(shè)計課程,力求通過“激發(fā)興趣、強化實踐”的方式培養(yǎng)學生的程序設(shè)計能力。 全書共分為9章,內(nèi)容包括Java程序設(shè)計概述、Java語言基礎(chǔ)、程序流程控制、數(shù)組、類與對象、類的繼承、異常處理和輸入/輸出、圖形用戶界面,以及集合、反射與泛型。本書注重面向?qū)ο蟮木幊虒嵺`和問題分析能力的訓練,使用大量例題幫助讀者理解和應用知識,通俗易懂,便于自學。 本書適合作為高等學校程序設(shè)計相關(guān)課程的教材,也可以作為自學用書。
韓建平,男,博士,教授,計算機科學與技術(shù)學科碩士生導師。1990年畢業(yè)于南京航空學院計算機軟件專業(yè),獲得學士學位;1996年畢業(yè)于南京航空航天大學計算機應用專業(yè),獲得碩士學位;2010年畢業(yè)于浙江大學計算機科學與技術(shù)專業(yè),獲得博士學位。現(xiàn)任計算機學院計算機基礎(chǔ)教學部主任。為國家級計算機基礎(chǔ)課程團隊主要成員,曾獲得校十佳教師、校教學杰出獎、校卓越名師提名獎等榮譽。目前主要從事圖像處理與模式識別、視覺監(jiān)控、嵌入式系統(tǒng)及應用等方面的研究與開發(fā)應用,近年來主持和參與省級以上科研10余項及教改項目4項,在中國圖象圖形學報等期刊發(fā)表學術(shù)論文20余篇,主編教材5部,其中一部為省級重點建設(shè)教材;成果先后獲得浙江省科技進步二等獎、浙江省教學成果一等獎和國家級教學成果二等獎。
目 錄
第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
習題一 7
第2章 Java語言基礎(chǔ) 8
2.1 標識符和關(guān)鍵字 8
2.1.1 關(guān)鍵字 8
2.1.2 標識符 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 運算符與表達式 17
2.4.1 賦值運算符與賦值表達式 17
2.4.2 算術(shù)運算符與算術(shù)表達式 18
2.4.3 關(guān)系運算符與關(guān)系表達式 20
2.4.4 邏輯運算符與邏輯表達式 20
2.4.5 其他運算符與表達式 22
2.4.6 表達式的處理規(guī)則 23
2.5 范例 25
習題二 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 帶標號的break語句 42
3.2.8 帶標號的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
習題三 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
習題四 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
習題五 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
習題六 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
習題七 154
第8章 圖形用戶界面 157
8.1 初識GUI 157
8.1.1 窗體JFrame 157
8.1.2 控件嵌套 158
8.2 用戶事件響應 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 復選框和單選按鈕 171
8.4.5 菜單 173
8.5 繪圖 177
8.5.1 添加圖片 177
8.5.2 圖形繪制 178
8.6 范例 180
習題八 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 標注 212
9.3 泛型 214
9.4 范例 219
習題九 231
附錄A 232