Java程序設(shè)計實例教程

-
【作 者】畢廣吉 編著
【I S B N 】978-7-5084-4665-3
【責(zé)任編輯】宋俊娥
【適用讀者群】本科
【出版時間】2007-06-01
【開 本】16開本
【裝幀信息】平裝(光膜)
【版 次】第1版
【頁 數(shù)】276
【千字數(shù)】
【印 張】
【定 價】¥26
【叢 書】21世紀高等院校規(guī)劃教材
【備注信息】
簡介
本書特色
前言
章節(jié)列表
精彩閱讀
下載資源
相關(guān)圖書
本書由淺入深地介紹Java編程,特點是:第一,本書注重基礎(chǔ)知識、基本概念和基本編程方法的介紹,學(xué)習(xí)本書時不要求讀者曾經(jīng)學(xué)習(xí)過C、C++等語言,而是直接講述Java的基本概念和編程方法;第二,本書注重實踐過程,用給出的90個具有圖形用戶界面的、有針對性的、可供實用的實例來闡述Java的編程方法。如果讀者把這些實例編制完成并運行成功,對每一條語句都能正確理解,就基本掌握了Java程序設(shè)計。
本書可作為高等院校Java語言程序設(shè)計課程的教材,也可供其他初學(xué)Java語言的讀者學(xué)習(xí)。
Java語言是典型的面向?qū)ο蟮某绦蛟O(shè)計語言,與面向過程的編程語言相比,學(xué)習(xí)起來難度較大,使一些初學(xué)者望而卻步或半途而廢。然而正是Java語言的面向?qū)ο蟮奶攸c,使它具有面向過程的編程語言所不具有的諸多優(yōu)越性,代表了程序設(shè)計的最新思想和方法,例如,代碼的可重用性、跨平臺的特點、適合網(wǎng)上運行、支持多線程等,而且學(xué)習(xí)Java語言又是進一步學(xué)習(xí)數(shù)據(jù)庫、JavaScript、JSP等知識的基礎(chǔ),所以大學(xué)本科學(xué)生學(xué)習(xí)Java是必要的。
Java語言的語法結(jié)構(gòu)與C、C++相似,類的繼承機制等與C++相似,于是圖書市場上相當一些教材總是以C、C++為基礎(chǔ)來講解Java。有的書即使不以C、C++為基礎(chǔ),也經(jīng)常提到“在C++中……”,似乎學(xué)習(xí)Java就必須先學(xué)習(xí)C、C++似的,這種書給初學(xué)者帶來很多困難和困惑。因此,很多讀者都在尋找一種真正適合初學(xué)者學(xué)習(xí)的Java教材,很多教師也需要真正適合教學(xué)的教材。
本書正是針對這樣的需求編寫而成的Java語言基礎(chǔ)教程。本書由淺入深地介紹Java編程,在有限的篇幅內(nèi),以介紹Java基礎(chǔ)編程為主,包括繼承、多態(tài)、重載、覆蓋、接口、封裝等面向?qū)ο蟪绦蛟O(shè)計的核心概念和機制,Applet程序設(shè)計、Java常用類、圖形用戶界面、組件、繪圖與圖像、異常處理、多線程與動畫、文件操作、網(wǎng)絡(luò)編程等,而那些與Java有關(guān)的進一步的內(nèi)容(如JSP等),為防止內(nèi)容分散沒有收入在本書中,而且這些內(nèi)容并不是靠一章的篇幅就能講清的。
本書特點如下:
(1)注重基礎(chǔ)知識、基本概念和基本編程方法的介紹,真正適合初學(xué)者。學(xué)習(xí)本書時不要求讀者曾經(jīng)學(xué)習(xí)過C、C++等語言,不像很多書那樣借用C、C++的概念對比進行解釋,而是直接講述Java的基本概念和編程方法,使沒有學(xué)習(xí)過C、C++的讀者能直接學(xué)好Java編程。
(2)注重實踐過程,使用實例來闡述和示范Java的編程方法。本書給出了90個具有圖形用戶界面的、有針對性的、可供實用的實例和一大批小例子,目錄中給出了這些實例的索引,其源代碼文件可以從中國水利水電出版社網(wǎng)站(http://www.waterpub.com.cn/ softdown/)下載。學(xué)習(xí)編程最好的方法就是學(xué)習(xí)實例,如果讀者把這些實例編制完成并對每一條語句都能正確理解,就基本掌握了Java程序設(shè)計方法。
參加本書編寫工作的還有任敏、畢之瑩、韓大勇等。本書配套的電子教案(PPT)由苑志旺、錢蓓蓓、鐘燕蘭、胡世昌制作,謹在此表示感謝。
本書可作為高等院校Java語言程序設(shè)計課程的教材,也可供其他初學(xué)Java語言的讀者學(xué)習(xí)。本書的所有實例都在Windows 98/2000/XP操作系統(tǒng)以及Java 1.3.0環(huán)境下運行通過。
畢廣吉
2007年4月
前言
第1章 Java編程語言概述 1
本章學(xué)習(xí)目標 1
1.1 Java概述 1
1.2 Java的軟件環(huán)境 2
1.2.1 安裝Java軟件開發(fā)包 2
1.2.2 配置環(huán)境變量 2
1.2.3 安裝幫助文檔 3
1.2.4 安裝UltraEdit.exe編輯器 3
1.3 Application程序與Applet程序 3
1.3.1 Java的Application程序與
Applet程序 3
1.3.2 Java程序的編輯、編譯和運行 3
1.3.3 第一個Application程序 4
1.3.4 第一個Applet程序 6
1.3.5 改進第一個Applet程序 8
1.4 HTML超文本標記語言簡介 10
1.5 UltraEdit編輯軟件的設(shè)置 12
1.6 初識類與對象 12
1.7 本章小結(jié) 13
1.8 習(xí)題 13
第2章 Java語言基礎(chǔ) 15
本章學(xué)習(xí)目標 15
2.1 標識符 15
2.2 關(guān)鍵字 15
2.3 基本數(shù)據(jù)類型 16
2.3.1 基本數(shù)據(jù)類型簡介 16
2.3.2 關(guān)于基本數(shù)據(jù)類型的說明 16
2.3.3 基本數(shù)據(jù)類型的自動轉(zhuǎn)換 17
2.4 運算符 18
2.4.1 算術(shù)運算符 18
2.4.2 自增、自減運算符 18
2.4.3 關(guān)系運算符 19
2.4.4 邏輯運算符 20
2.4.5 位運算符 20
2.4.6 條件運算符 21
2.4.7 賦值運算符 22
2.4.8 運算符的優(yōu)先級和結(jié)合性 23
2.5 常量、變量和表達式 24
2.5.1 變量 24
2.5.2 常量 25
2.5.3 表達式 26
2.6 程序流程控制結(jié)構(gòu) 27
2.6.1 選擇結(jié)構(gòu) 27
2.6.2 循環(huán)結(jié)構(gòu) 28
2.6.3 控制轉(zhuǎn)移語句 30
2.6.4 其他語句 30
2.7 注釋 30
2.8 本章小結(jié) 31
2.9 習(xí)題 31
第3章 類與對象 34
本章學(xué)習(xí)目標 34
3.1 類 34
3.1.1 類的聲明 34
3.1.2 類體 34
3.1.3 類的成員變量 35
3.1.4 類的成員方法 35
3.2 Java的類庫 36
3.2.1 自定義類與類庫 36
3.2.2 Java的常用類庫 36
3.2.3 使用類庫的方法 37
3.3 對象 37
3.3.1 對象的聲明和實例化 37
3.3.2 引用成員變量和調(diào)用成員方法 38
3.3.3 類的特殊方法——構(gòu)造方法 38
3.4 本章小結(jié) 38
3.5 習(xí)題 39
第4章 面向?qū)ο蟮某绦蛟O(shè)計 41
本章學(xué)習(xí)目標 41
4.1 類的封裝 41
4.2 類的繼承 41
4.2.1 創(chuàng)建子類 41
4.2.2 this對象和super對象 45
4.2.3 final關(guān)鍵字和abstract關(guān)鍵字 47
4.3 類的多態(tài)性 48
4.3.1 多態(tài)的概念 48
4.3.2 方法的重載 48
4.3.3 方法的覆蓋 49
4.4 靜態(tài)類成員 51
4.5 接口 52
4.6 包的概念 54
4.7 本章小結(jié) 55
4.8 習(xí)題 55
第5章 Java常用類 58
本章學(xué)習(xí)目標 58
5.1 常用的Java類 58
5.1.1 對象類Object 58
5.1.2 數(shù)據(jù)類型類 59
5.1.3 數(shù)學(xué)類Math 59
5.1.4 系統(tǒng)類System 60
5.1.5 Class類 61
5.1.6 日期類Date和日歷類Calendar 62
5.2 數(shù)組和字符串 63
5.2.1 數(shù)組 63
5.2.2 字符串String類 66
5.2.3 Application應(yīng)用程序的命令行參數(shù) 72
5.2.4 字符串StringBuffer類 72
5.2.5 字符串數(shù)組 73
5.3 Applet類 73
5.3.1 Applet類介紹 73
5.3.2 Applet類的方法 74
5.3.3 從HTML向Applet傳遞參數(shù)
的方法 76
5.4 本章小結(jié) 77
5.5 習(xí)題 77
第6章 圖形用戶界面設(shè)計 79
本章學(xué)習(xí)目標 79
6.1 圖形用戶界面設(shè)計與java.awt包 79
6.2 組件Component的概念 80
6.2.1 組件類及其子類 80
6.2.2 組件類的方法 80
6.3 事件Event 81
6.3.1 事件類AWTEvent 81
6.3.2 事件類的接口interface 82
6.3.3 事件適配器Adapter 83
6.4 按鈕組件Button 83
6.4.1 按鈕組件的方法和事件 83
6.4.2 按鈕的使用 84
6.5 與文本有關(guān)的組件 86
6.5.1 標簽組件Label 86
6.5.2 使用標簽組件 87
6.5.3 TextComponent類 88
6.5.4 文本行組件TextField 89
6.5.5 文本域組件TextArea 90
6.5.6 使用文本行和文本域 91
6.6 與選項有關(guān)的組件 92
6.6.1 復(fù)選框 93
6.6.2 單選按鈕組CheckboxGroup 95
6.7 與列表有關(guān)的組件 97
6.7.1 選擇框組件Choice 98
6.7.2 列表框組件List 100
6.8 滾動條組件Scrollbar 103
6.9 顏色類和字體類 105
6.9.1 顏色類Color 106
6.9.2 字體類Font 108
6.10 容器類及其子類 109
6.10.1 容器類Container 110
6.10.2 框架類Frame 110
6.10.3 面板類Panel 115
6.10.4 對話框Dialog 118
6.11 布局管理器 122
6.11.1 FlowLayout布局 122
6.11.2 BorderLayout布局 122
6.11.3 GridLayout布局 124
6.11.4 GridBagLayout布局 125
6.11.5 null布局 128
6.12 菜單 130
6.12.1 下拉菜單 130
6.12.2 彈出式菜單 135
6.13 Java中的漢字編碼 139
6.14 本章小結(jié) 141
6.15 習(xí)題 141
第7章 繪圖與圖像 144
本章學(xué)習(xí)目標 144
7.1 Java繪圖基礎(chǔ) 144
7.1.1 繪圖容器與坐標系 144
7.1.2 畫布類Canvas 144
7.1.3 paint方法和repaint方法 145
7.1.4 繪圖類Graphics 150
7.2 在組件上繪圖 154
7.2.1 繪制任意曲線 154
7.2.2 用drawString和drawChars方法
繪制字符 156
7.3 繪圖實例 158
7.3.1 徒手繪圖 158
7.3.2 橡皮筋畫法 160
7.4 顯示圖像 163
7.4.1 利用Graphics類顯示圖片 163
7.4.2 制作相冊 164
7.4.3 連續(xù)位圖動畫 167
7.4.4 更換圖標 168
7.5 本章小結(jié) 169
7.6 習(xí)題 170
第8章 異常處理 172
本章學(xué)習(xí)目標 172
8.1 錯誤與異常的概念 172
8.2 異常類 172
8.2.1 Throwable類 172
8.2.2 常用的異常類 173
8.3 異常的處理 174
8.3.1 程序異常的實例 174
8.3.2 try-catch-finally結(jié)構(gòu) 177
8.3.3 主動拋出異常 180
8.4 自定義異常類 184
8.5 將異常交系統(tǒng)處理 187
8.6 本章小結(jié) 187
8.7 習(xí)題 188
第9章 多線程機制與動畫 190
本章學(xué)習(xí)目標 190
9.1 線程的建立 190
9.1.1 進程與線程的概念 190
9.1.2 繼承Thread類建立線程 190
9.1.3 用Runnable接口建立線程 193
9.1.4 用Runnable接口建立多線程 196
9.2 關(guān)于線程的進一步討論 198
9.2.1 線程的狀態(tài) 198
9.2.2 線程的優(yōu)先級 199
9.2.3 線程組 199
9.3 圖像動畫 201
9.3.1 用線程控制動畫 202
9.3.2 定時器 203
9.3.3 定時器的進一步改進 206
9.3.4 用定時器控制動畫的方法 209
9.4 本章小結(jié) 212
9.5 習(xí)題 212
第10章 文件操作 214
本章學(xué)習(xí)目標 214
10.1 文件對話框類FileDialog 214
10.2 文件類File 220
10.3 流的概念 221
10.3.1 數(shù)據(jù)流的概念 221
10.3.2 標準的輸入輸出 222
10.3.3 java.io包中的數(shù)據(jù)流類 223
10.4 順序讀寫文件 225
10.4.1 用文件輸入流順序讀文件 225
10.4.2 用字節(jié)流順序?qū)懳募?227
10.4.3 用字符流順序?qū)懳募?229
10.4.4 用文件輸入輸出流讀寫文件 230
10.5 使用LineNumberReader類 235
10.6 隨機讀寫文件 237
10.7 獲取文件信息 240
10.7.1 SimpleDateFormat類 240
10.7.2 獲取文件屬性 241
10.8 運行可執(zhí)行文件 243
10.8.1 Runtime類 243
10.8.2 在Java中執(zhí)行EXE文件 244
10.8.3 選擇一個可執(zhí)行文件并運行 244
10.9 本章小結(jié) 247
10.10 習(xí)題 247
第11章 網(wǎng)絡(luò)程序設(shè)計 249
本章學(xué)習(xí)目標 249
11.1 Java的網(wǎng)絡(luò)功能 249
11.2 使用URL類 249
11.2.1 URL基礎(chǔ)知識 249
11.2.2 URL類 250
11.3 URLConnection類 253
11.4 Java顯示網(wǎng)頁的方法 255
11.4.1 AppletContext接口的showDocument
方法 255
11.4.2 在Java程序中顯示網(wǎng)頁 255
11.5 Socket通信 257
11.5.1 Socket通信基礎(chǔ)知識 257
11.5.2 Socket通信實例服務(wù)器端 258
11.5.3 Socket通信實例客戶端 260
11.5.4 Socket通信實例的使用 262
11.6 本章小結(jié) 263
11.7 習(xí)題 263
實例索引
實例 遞歸累加 4
實例 加法 6
實例 改進加法 8
實例 類的繼承 41
實例 this引用的例子 45
實例 super引用的例子 46
實例 方法的重載 48
實例 方法的覆蓋 49
實例 類變量 51
實例 接口 53
實例 使用Date類和Calendar類 62
實例 求一個數(shù)組中最大的元素及其下標 64
實例 用數(shù)組的數(shù)組存放楊輝三角形 65
實例 獲取字符串長度的例子 67
實例 字符串比較 68
實例 取子字符串 68
實例 在字符串中查找字符 69
實例 字符串轉(zhuǎn)換成數(shù)值 70
實例 數(shù)值轉(zhuǎn)換成字符串之一 70
實例 數(shù)值轉(zhuǎn)換成字符串之二 71
實例 解析命令行參數(shù) 72
實例 字符串數(shù)組 73
實例 測試Applet類中方法的用途 74
實例 從HTML向Applet傳遞參數(shù) 76
實例 按鈕的使用 84
實例 標簽組件的例子 87
實例 文本行和文本域的使用 91
實例 復(fù)選框組件的使用 93
實例 單選按鈕組的使用 95
實例 選擇框組件 98
實例 用列表框?qū)崿F(xiàn)單選、多選并響應(yīng)單擊
和雙擊事件 101
實例 滾動條組件的使用 104
實例 用四種方法創(chuàng)建紅色 107
實例 使用字體 108
實例 使用框架 111
實例 框架的事件 113
實例 面板類的用法 116
實例 對話框的實例 119
實例 測試BorderLayout布局的效果 123
實例 測試GridLayout布局的效果 124
實例 使用GridBagLayout布局 126
實例 使用null布局 128
實例 下拉菜單的實例 132
實例 彈出式菜單的使用 136
實例 漢字編碼 139
實例 在Canvas上繪圖 145
實例 在Applet上繪圖 149
實例 使用繪圖方法繪制圖形 152
實例 旋轉(zhuǎn)的斜橢圓 154
實例 繪制字符和字符串 156
實例 徒手繪圖 158
實例 用橡皮筋畫法繪制直線段 160
實例 在Applet中顯示位圖 163
實例 相冊 165
實例 連續(xù)位圖動畫 167
實例 更換圖標 168
實例 不完善的除法計算器1 174
實例 不完善的除法計算器2 176
實例 除法計算器 178
實例 完善整數(shù)除法 181
實例 自定義異常類 184
實例 畢達哥拉斯數(shù)和完全平方數(shù) 191
實例 滾動字符串 194
實例 時鐘和字符串 196
實例 多線程 200
實例 改進連續(xù)位圖動畫 202
實例 定時器 204
實例 定時器的進一步改進 206
實例 用定時器控制動畫 209
實例 使用對話框選擇文件 215
實例 標準輸入輸出 222
實例 打開并讀取文件 225
實例 用字節(jié)流寫文件 227
實例 用字符流寫文件 229
實例 復(fù)制文件 230
實例 復(fù)制文件之二 231
實例 為源程序加行號 235
實例 隨機讀寫文件 238
實例 文件屬性列表 241
實例 運行可執(zhí)行文件1 244
實例 運行可執(zhí)行文件2 244
實例 用openStream讀URL文件 251
實例 使用URLConnection類讀URL文件 253
實例 用showDocument顯示網(wǎng)頁內(nèi)容 255
實例 Socket通信實例服務(wù)器端程序 258
實例 Socket通信實例客戶端程序 260
- Java面向?qū)ο蟪绦蛟O(shè)計 [主編 姜春磊 陳虹潔]
- 基于AI的Java技術(shù)項目實戰(zhàn) [主編 尹慧超 郭 娜 劉慶杰]
- Java Web項目化設(shè)計實踐教程 [邱云 曾陳萍]
- 面向?qū)ο蟪绦蛟O(shè)計 [主編 張勇 張平華 趙小龍]
- Java Web應(yīng)用技術(shù)項目化教程 [黃日勝 方阿麗]
- JavaScript與jQuery項目化教程(活頁式) [主編 林灃 藍雪燕 宋家慧]
- 網(wǎng)站前端技術(shù)案例教程(HTML+CSS+JavaScript)(第二版) [黃華升]
- Java編程基礎(chǔ)案例式教程 [主編 陳艷華 唐春蘭]
- Java面向?qū)ο蟪绦蛟O(shè)計(微課版) [主編 謝先偉 王海洋]
- Java面向?qū)ο蟪绦蛟O(shè)計 [主編 張立敏 鄒海濤]
- Java Web開發(fā)技術(shù)任務(wù)驅(qū)動式教程 [金靜梅]
- Java編程基礎(chǔ) [張煥生 崔炳德]
- Java編程基礎(chǔ)實踐指導(dǎo) [張煥生 陳勇 崔炳德]
- Java基礎(chǔ)編程(微課版) [主編 王海洋 吳科宏 謝先偉]
- 12歲開始學(xué)JavaScript和Web應(yīng)用 [TENTO 著 徐樂群 譯]
- Java程序設(shè)計簡明教程 [黃能耿 黃致遠 編著]
- Java程序設(shè)計 [主編 張繼軍]
- Java基礎(chǔ)應(yīng)用與實戰(zhàn) [彭東海 王志和 張思奇]
- Java Web開發(fā)技術(shù)與項目實戰(zhàn) [主編 羅如為]
- Java程序設(shè)計案例教程 [主 編 寧淑榮 楊國興]
- Java程序設(shè)計 [甘霞]
- Web前端開發(fā)從學(xué)到用完美實踐HTML5+CSS3+JavaScript+jQuery+AJAX+AngularJS(第2版) [阮曉龍]
- Java程序設(shè)計實訓(xùn)教程 [主編 寧淑榮 楊國興]
- 網(wǎng)站前端技術(shù)案例教程(HTML+CSS+JavaScript) [黃華升]
- Java程序設(shè)計習(xí)題解答及上機指導(dǎo) [李素若]
- Java核心API編程 [主編 肖睿 禹晨 馬凌]
- Java Web開發(fā)實戰(zhàn) [主編 肖睿 高海波 徐申]
- Java面向?qū)ο蟪绦蛟O(shè)計 [主編 肖奎 姚競]
- Java面向?qū)ο蟪绦蛟O(shè)計 [主編 陳占偉]
- 高等數(shù)學(xué)(下冊)(第二版)
- 高等數(shù)學(xué)(上冊)(第二版)
- Visual Basic程序設(shè)計(第二版)
- 離散數(shù)學(xué)(第二版)
- 復(fù)變函數(shù)與積分變換
- Visual C++ & Android程序設(shè)計綜合實訓(xùn)
- 高等數(shù)學(xué)(下冊)
- Visual Basic程序設(shè)計簡明教程(第二版
- 網(wǎng)絡(luò)與信息安全教程(第二版)
- 高等數(shù)學(xué)(上冊)
- 綜合布線技術(shù)與施工(第二版)
- 微型計算機原理與接口技術(shù)學(xué)習(xí)與實驗指
- 計算機圖形學(xué)(第二版)
- Visual C++程序設(shè)計教程(第二版)
- 物流管理專業(yè)實踐與指導(dǎo)
- Access 2010數(shù)據(jù)庫技術(shù)基礎(chǔ)及應(yīng)用