Java程序設計教程
-
【作 者】趙輝 鄭山紅 王璐 編著
【I S B N 】978-7-5170-4047-7
【責任編輯】李炎
【適用讀者群】本專通用
【出版時間】2016-02-07
【開 本】16開
【裝幀信息】平裝(光膜)
【版 次】第1版第1次印刷
【頁 數】268
【千字數】410
【印 張】16.75
【定 價】¥35
【叢 書】普通高等教育“十三五”規劃教材
【備注信息】
簡介
本書特色
前言
章節列表
精彩閱讀
下載資源
相關圖書
內 容 提 要
本書全面、系統地介紹了Java語言的基本概念、基本語法、程序設計方法以及一些企業級應用技術。全書共12章,第1章~第2章為預備與入門知識,介紹了Java語言相關的基本概念,描述了Java程序開發的一般過程和編譯、運行環境,以及Java編程的基礎知識;第3章~第4章為面向對象的編程知識,介紹了面向對象程序設計的基本概念、基本原理和基本特點,Java語言的類、對象、接口和包的設計規范,以及封裝、繼承、多態等設計機制;第5章~第9章為Java編程的常用知識,介紹了常用實用類、泛型與集合框架、圖形用戶接口、輸入輸出處理、數據庫編程等具體應用;第10章~第12章為Java編程的進階知識,介紹了Java多線程、Java網絡編程以及Java反射機制、代理機制等高級編程知識,為開發企業級應用軟件打下基礎。
本書構思新穎、示例豐富,內容循序漸進、前后呼應,既重視基本理論和基本概念的闡述,又注重程序設計能力的培養,同時反映了Java語言的最新發展。
本書可以作為高等院校計算機及相關專業的學生學習“Java程序設計”課程的教材,也可以作為廣大工程技術人員和程序設計愛好者的自學教材。
本書提供有電子教案、源程序文件、習題答案,方便讀者使用。讀者可以從中國水利水電出版社網站和萬水書苑上免費下載,網址為:http://www.waterpub.com.cn/softdown/和http://www.dgboyong.cn。
本書全面、系統地介紹了Java 語言的基本概念、基本語法、程序設計方法以及一些企業級應用技術。
本書構思新穎、示例豐富,內容循序漸進、前后呼應,既重視基本理論和基本概念的闡述,又注重程序設計能力的培養,同時反映了Java 語言的最新發展。本書提供案例源碼,方便讀者使用。
前 言
Java語言是一種革命性的編程語言,具有簡單、平臺無關、面向對象、分布式、安全性、可移植、多線程以及強有力的網絡支持等特點,因此,Java已經成為編寫各類應用程序,如安全的網絡程序、圖像處理、多媒體、Wed客戶機和服務器以及關鍵性任務的企業級系統的首選語言工具,并且“Java程序設計”課程已成為高校計算機類專業的一門重要專業課。
本書是在作者多年從事Java程序設計教學改革與實踐的基礎上編寫而成,主要具有以下五方面特色。
1.注重內容的合理選擇與更新
Internet網絡技術的飛速發展以及軟件開發模型的層次化趨勢使得Java語言在不斷發展、更新。本書在內容選取時除了包含Java語言最基本的知識外,還適當選擇了一些新的、成熟的知識(例如:多線程、網絡編程、反射機制、Annotation、代理機制等),體現了Java語言的發展、變化,保證了知識的先進性。
2.注重面向對象程序設計能力的培養
面向對象技術被認為是程序設計方法學的一場革命,是現代軟件開發的主流方法,Java語言是面向對象技術應用的最成功范例。本書以Java語言為載體,在介紹Java編程的同時講解面向對象程序設計的基本原理和方法,將面向對象的思維方法貫穿于全書并加以強調,為初學者奠定扎實的面向對象程序設計基礎,使其樹立良好的編程思想。
3.注重軟件工程素質和能力的培養
注重學生編程習慣的培養,使學生能夠站在現代軟件開發和軟件工程這個比較開闊的層面上學習程序設計,而不是局限于繁瑣的程序設計語言規則上。為此全書貫穿了軟件工程的思想,強調“自頂向下、逐步求精”“先分析后設計再編碼”和“以需求為驅動”等軟件工程方法的應用。
4.注重知識面的拓展與學習興趣的激發
相比較而言,教材內容畢竟是有限的,學生要完全掌握Java語言和程序設計的精髓,還需要學習很多教材之外的知識,為此本書在正文中和正文后分別設置了“注意”和“拓展”等欄目,介紹一些相關的歷史典故、發展動向、研究熱點以及技術方法等知識,并指明學習的途徑,以便對學生的進一步學習加以引導,從而開拓學生的知識面,激發學生學習的興趣。
5.注重教材的完整性
本書提供了電子教案、可執行的源程序文件和習題答案等電子資料,讀者可以從出版社相關網站下載。
本書由趙輝、鄭山紅、王璐編著,陳滿林、王國春、彭馨儀參與了部分章節的編寫工作。
盡管書稿幾經修改,但由于編者水平有限,書中難免有許多疏漏之處,敬請各位同行和廣大讀者批評指正。
編 者
2015年10月
第1章 Java語言概述 1
1.1 Java語言發展歷史 1
1.2 Java語言的特點 2
1.3 Java體系結構 4
1.4 Java開發環境 5
1.4.1 JDK簡介 5
1.4.2 JDK的安裝 5
1.4.3 開發環境配置 6
1.5 Java程序開發實例 7
1.5.1 Java Application 8
1.5.2 Java Applet 9
1.6 Java編程風格 10
1.6.1 Allman風格 10
1.6.2 Kernighan風格 10
本章小結 10
拓展 11
習題一 11
第2章 Java語言編程基礎 13
2.1 標識符、關鍵字和注釋 13
2.1.1 標識符 13
2.1.2 關鍵字與保留字 13
2.1.3 注釋 14
2.2 基本數據類型 15
2.2.1 數據類型概述 15
2.2.2 整數類型 16
2.2.3 浮點類型 16
2.2.4 布爾類型 16
2.2.5 字符類型 16
2.2.6 基本數據類型間的相互轉換 17
2.2.7 從命令行輸入輸出數據 17
2.3 運算符與表達式 18
2.3.1 算術運算符與算術表達式 19
2.3.2 關系運算符與關系表達式 20
2.3.3 邏輯運算符與邏輯表達式 20
2.3.4 位運算符與位表達式 21
2.3.5 賦值運算符與賦值表達式 22
2.3.6 條件運算符與條件表達式 23
2.3.7 其他運算符 23
2.3.8 運算符的優先級與結合性 23
2.4 控制語句 24
2.4.1 選擇語句 24
2.4.2 循環語句 27
2.4.3 跳轉語句 29
2.5 數組 30
2.5.1 一維數組 30
2.5.2 數組的數組 32
2.5.3 數組排序 34
2.6 綜合實例 34
本章小結 35
拓展 36
習題二 36
第3章 Java面向對象編程 38
3.1 面向對象基礎 38
3.1.1 面向對象的基本原理 38
3.1.2 面向對象的基本概念 38
3.1.3 面向對象編程的特點 39
3.2 類 40
3.2.1 類的定義 40
3.2.2 成員變量和局部變量 40
3.2.3 方法 41
3.2.4 構造方法 42
3.3 對象 43
3.3.1 對象創建 44
3.3.2 使用對象 46
3.3.3 對象引用與對象實體 47
3.3.4 垃圾回收機制 49
3.4 static關鍵字 49
3.4.1 類變量 49
3.4.2 類方法 50
3.4.3 靜態代碼塊 51
3.5 this關鍵字 51
3.5.1 在構造方法中使用this 51
3.5.2 在實例方法中使用this 52
3.6 包 52
3.6.1 包的概念 52
3.6.2 創建包 53
3.6.3 導入包 54
3.6.4 文件打包 55
3.7 訪問權限 57
3.7.1 類成員的訪問權限 57
3.7.2 類的訪問權限 59
3.8 綜合實例 59
本章小結 60
拓展 61
習題三 61
第4章 深入面向對象程序設計 63
4.1 繼承 63
4.1.1 繼承的定義 63
4.1.2 子類對象的構造 65
4.1.3 成員變量隱藏 67
4.1.4 方法重寫 67
4.1.5 super關鍵字 69
4.1.6 final關鍵字 71
4.2 多態 72
4.2.1 方法重載 72
4.2.2 對象造型 73
4.2.3 動態綁定 74
4.3 抽象類 75
4.3.1 抽象類的定義 75
4.3.2 抽象類的使用 76
4.4 接口 77
4.4.1 接口的定義 77
4.4.2 接口的實現 78
4.4.3 接口的多態 79
4.5 內部類 80
4.5.1 實名內部類 80
4.5.2 匿名內部類 82
4.6 綜合實例 83
本章小結 87
拓展 87
習題四 88
第5章 常用實用類 89
5.1 Object與System類 89
5.1.1 Object類 89
5.1.2 System類 90
5.2 Class類 91
5.3 異常類 92
5.3.1 異常類的層次結構 92
5.3.2 異常處理機制 93
5.3.3 自定義異常 95
5.4 斷言 97
5.5 String與StringBuffer 98
5.5.1 字符串的表示和創建 98
5.5.2 字符串的常用方法 98
5.5.3 用StringTokenizer類分解字符串 102
5.5.4 字符串與字符、字節數組 103
5.5.5 StringBuffer類 103
5.6 Java基本數據類型的封裝 105
5.6.1 基本數據類型與封裝類型的轉換 105
5.6.2 字符串與數值類型的相互轉換 107
5.7 Math類和BigInteger類 108
5.7.1 Math類 108
5.7.2 BigInteger類 109
5.8 時間和日期類 110
5.8.1 Date類 110
5.8.2 Calendar類 111
5.9 正則表達式 112
5.10 綜合實例 113
本章小結 114
拓展 115
習題五 116
第6章 泛型與集合框架 117
6.1 泛型 117
6.1.1 泛型類 117
6.1.2 泛型接口 119
6.2 Collection
6.3 List
6.4 Set
6.5 Map
6.6 綜合實例 126
本章小結 127
拓展 127
習題六 128
第7章 圖形用戶接口 129
7.1 GUI簡介 129
7.1.1 AWT組件 129
7.1.2 Swing組件 129
7.2 容器組件 131
7.2.1 JFrame 131
7.2.2 JPanel 132
7.3 常用基本組件 133
7.3.1 JTextField和JTextArea 133
7.3.2 JLabel 136
7.3.3 JButton 136
7.3.4 選擇組件 137
7.4 布局組件 141
7.5 菜單組件 148
7.6 事件 151
7.7 對話框 154
7.7.1 消息對話框 154
7.7.2 確認對話框 155
7.7.3 文件對話框 157
7.7.4 顏色對話框 159
7.8 綜合實例 160
本章小結 164
拓展 164
習題七 165
第8章 輸入輸出處理 166
8.1 輸入輸出流簡介 166
8.2 文件 167
8.2.1 創建文件對象 167
8.2.2 文件操作 168
8.2.3 目錄操作 169
8.2.4 運行可執行文件 170
8.3 字節流 171
8.3.1 InputStream類和OutputStream類 171
8.3.2 FileInputStream類和
FileOutputStream類 171
8.4 字符流 174
8.4.1 Reader和Writer類 174
8.4.2 FileReader類和FileWriter類 175
8.4.3 BufferedReader類和
BufferedWriter類 176
8.5 隨機訪問流 177
8.6 數據流 179
8.7 對象的串行化 181
8.8 綜合實例 182
本章小結 185
拓展 185
習題八 186
第9章 JDBC和數據庫訪問 187
9.1 JDBC簡介 187
9.1.1 JDBC結構 187
9.1.2 JDBC應用模式 188
9.2 連接數據庫的兩種方式 189
9.2.1 JDBC驅動程序 189
9.2.2 配置ODBC數據源 190
9.2.3 JDBC工作流程 190
9.3 常用類和接口 192
9.3.1 DriverManager類 192
9.3.2 Connection接口 193
9.3.3 Statement接口 193
9.3.4 ResultSet接口 194
9.4 數據庫基本操作 196
9.4.1 查詢操作 196
9.4.2 更新操作 197
9.5 預處理語句 198
9.6 事務 200
9.6.1 事務簡介 200
9.6.2 Java事務的類型 200
9.7 綜合實例 202
本章小結 205
拓展 206
習題九 206
第10章 Java多線程 207
10.1 什么是多線程 207
10.2 線程的生命周期 207
10.3 創建線程的方法 208
10.3.1 利用Thread類的子類創建線程 209
10.3.2 使用Runnable接口對象創建線程 210
10.3.3 線程常用操作方法 211
10.3.4 多線程中的共享與獨享 213
10.4 線程同步 214
10.5 線程聯合 216
10.6 守護線程 217
10.7 綜合實例 218
本章小結 220
拓展 221
習題十 221
第11章 Java網絡編程 223
11.1 網絡編程基本知識 223
11.2 套接字通信 224
11.2.1 服務器端套接字 224
11.2.2 客戶端套接字 224
11.2.3 通過套接字傳遞數據 224
11.3 數據報通信 227
11.3.1 DatagramSocket類和
DatagramPacket類 227
11.3.2 通過數據報傳遞數據 228
11.4 綜合實例 229
本章小結 233
拓展 234
習題十一 234
第12章 Java高級編程 236
12.1 Java反射機制 236
12.1.1 Java反射機制簡介 236
12.1.2 類加載器 238
12.1.3 利用反射機制使用成員變量和
方法 239
12.2 Annotation 240
12.2.1 Annotation簡介 240
12.2.2 三個常用的Annotation 241
12.2.3 自定義Annotation的實現 243
12.3 代理機制 247
12.3.1 靜態代理 247
12.3.2 動態代理 249
12.4 綜合實例 250
本章小結 252
拓展 252
習題十二 252
附錄 Java編程規范 254
參考文獻 258
- C程序設計實踐教程 [劉衛國]
- C程序設計(慕課版) [劉衛國]
- 程序設計基礎實踐教程(C/C++語言版) [張桂芬 葛麗娜]
- C++案例項目精講 [主編 楊國興]
- SwiftUI完全開發 [李智威 著]
- MySQL數據庫項目式教程 [陳亞峰]
- C語言程序設計習題與實驗指導(第二版) [主編 甄增榮 張賓]
- C語言程序設計(第二版) [主編 甄增榮 田云霞]
- Unity3D虛擬現實應用開發實踐 [主 編 劉龍]
- Python程序設計 [主編 姜春磊 陳虹潔]
- C語言程序設計實踐教程(活頁式) [主編 鄭茵 陳巍 滕泓虬]
- 面向對象程序設計 [主編 張勇 張平華 趙小龍]
- Python程序設計基礎及實戰 [主編 劉健]
- C語言程序設計 [姜雪]
- Python程序設計實踐教程 [王鶴琴 蔡正保]
- C++程序設計實踐教程(第三版) [主編 劉衛國 曹岳輝]
- C++程序設計(第三版) [主編 曹岳輝 劉衛國]
- C語言程序設計項目化教程(活頁式) [主編 張利華 潘曉利]
- 機器人流程自動化(RPA)實戰——基于UiPath [主編 金鑫]
- Python 語言程序設計實踐指導 [主編 張雙獅]
- Python程序設計案例教程 [主編 毛錦庚 鐘肖英 周賢來 ]
- 基于.NET Core框架的分布式系統架構設計 [湯佳 著]
- Python語言程序設計教程 [郭其標 房宜汕]
- Python程序設計 [李國燕 王新強 劉佳 等編著]
- Python程序設計項目化教程(活頁式) [主編 盧鳳偉]
- Java編程基礎案例式教程 [主編 陳艷華 唐春蘭]
- Python語言同步案例習題精解 [主編 肖朝暉]
- Unity應用開發與實戰(微課版) [主 編 程永恒]
- PHP程序設計項目化教程 [主 編 杜海穎]
- 簡單易懂的Python入門教程 [[日]大澤文孝 著]