出版信息
•主 編:何林波 昌燕 索望
•副主編:熊熙 陳丁 黃源源 劉麗
•書代號:445100
•I S B N:978-7-5606-4159-1
•出版日期:2016-08
•印刷日期:2016-08
內容簡介
本書主要講述面向對象程式語言Java。從程式設計語言及Java語言產生的背景和發展過程入手,以什麼是“面向對象”這一問題引出後續章節,循序漸進地講述了Java基礎語法到Java網路編程。
本書主編及參編作者有多年的Java系列課程教學經驗,編撰過程中結合了編者歷年來的Java教學和信息系統開發經驗,比較詳細地介紹了Java的基礎語法知識和相關技術。全書共13章,內容包括Java概述、面向對象的基本思想、類與對象、Java語言基礎、繼承、接口、內部類、異常處理、Java中的I/O系統、Java多執行緒、數組和集合類、Java網路編程、Java的常用類。由於目前Java在視窗方面的套用場景較少,因此本書對Java中有關UI編程的部分,如awt、swing進行了省略,讀者可以參考其他教材。
本書內容豐富、注重實用,理論知識點之後一般都給出了示範代碼,部分代碼有一定的實際設計意義。另外每章都附有思考與練習,引導讀者回顧、總結所學知識點並進行進一步的學習。
本書可作為高等院校計算機類、信息類、工程類、電子商務類和管理類各專業本、專科生的教材,也可作為普通程式開發人員的自學教材或參考書。
圖書目錄
•第1章 Java概述 1
•1.1 程式設計語言的發展 1
•1.2 Java語言概述 2
•1.2.1 Java語言的產生及發展 2
•1.2.2 Java語言的特性 3
•1.2.3 Java虛擬機及Java的跨平台原理 4
•1.2.4 Java的平台版本 6
•1.3 JDK的安裝與使用 7
•1.3.1 JDK的下載與安裝 7
•1.3.2 Path與classpath環境變數 10
•1.3.3 第一個Java程式 12
•1.3.4 Java的反編譯 17
•1.4 集成開發工具介紹 18
•思考與練習 28
•第2章 面向對象的基本思想 29
•2.1 結構化程式設計方法的缺點 29
•2.2 面向對象的基本概念 30
•2.2.1 對象的基本概念 31
•2.2.2 面向對象中的抽象 32
•2.3 面向對象核心思想 34
•2.3.1 封裝與透明 34
•2.3.2 訊息與服務 36
•2.3.3 繼承 37
•2.3.4 接口 38
•2.3.5 多態 39
•2.4 類之間的關係 40
•2.4.1 UML簡介 40
•2.4.2 依賴 41
•2.4.3 關聯 41
•2.4.4 聚合與組合 42
•2.4.5 泛化 43
•2.4.6 實現 43
•思考與練習 44
•第3章 類與對象 46
•3.1 類的基本概念 46
•3.1.1 類的定義 46
•3.1.2 類與對象的辨析 46
•3.2 類與對象 47
•3.2.1 類的聲明 47
•3.2.2 成員變數 49
•3.2.3 成員方法 52
•3.2.4 構造器(Constructor) 55
•3.2.5 創建對象 58
•3.2.6 訪問對象的成員 59
•3.2.7 main方法 60
•3.2.8 關鍵字 60
•3.2.9 標識符 61
•3.2.10 static關鍵字 61
•3.2.11 this關鍵字 63
•3.2.12 package與import 65
•3.2.13 訪問控制修飾符 69
•3.2.14 完整的範例程式 70
•3.3 Java虛擬機運行數據區 72
•思考與練習 74
•第4章 Java語言基礎 75
•4.1 Java的數據類型 75
•4.1.1 基本數據類型 75
•4.1.2 布爾型 76
•4.1.3 整數類型 76
•4.1.4 字元型 80
•4.1.5 浮點數類型 81
•4.1.6 基本數據類型之間的轉換 82
•4.1.7 引用類型 85
•4.2 運算符 86
•4.2.1 算術運算符 86
•4.2.2 關係運算符 88
•4.2.3 位運算符 89
•4.2.4 邏輯運算符 93
•4.2.5 賦值運算符 94
•4.2.6 其他運算符 96
•4.2.7 運算符的優先權 99
•4.3 表達式與語句 99
•4.3.1 分支語句 100
•4.3.2 循環語句 104
•4.3.3 break和continue 107
•思考與練習 108
•第5章 繼承 110
•5.1 繼承的基本概念 110
•5.2 Java繼承的語法 110
•5.2.1 子類與超類 110
•5.2.2 子類能繼承的屬性及方法 111
•5.2.3 構造方法的繼承(super關鍵字) 111
•5.2.4 方法的重載 113
•5.2.5 方法的覆蓋 114
•5.2.6 方法覆蓋與重載的區別 116
•5.2.7 Java的上下轉型 118
•5.2.8 繼承的利弊與使用原則 116
•5.3 終止繼承 118
•5.4 抽象類 119
•5.5 多態 120
•5.6 Object類 125
•思考與練習 126
•第6章 接口 128
•6.1 接口的概念與特性 128
•6.2 接口的定義與使用 128
•6.2.1 接口定義的語法 128
•6.2.2 接口實現的語法 129
•6.3 比較接口與抽象類 131
•6.4 基於接口的設計模式 135
•6.4.1 定製服務模式 135
•6.4.2 適配器模式 136
•6.4.3 默認適配器模式 138
•6.4.4 代理模式 139
•思考與練習 142
•第7章 內部類 145
•7.1 內部類 145
•7.1.1 內部類概述 145
•7.1.2 成員內部類 145
•7.1.3 局部內部類 146
•7.1.4 匿名內部類 146
•7.1.5 靜態內部類 147
•7.2 內部類的使用 147
•思考與練習 149
•第8章 異常處理 150
•8.1 異常處理機制基礎 150
•8.1.1 什麼是異常 150
•8.1.2 Java異常處理機制的優點 150
•8.2 異常的處理 153
•8.2.1 try... catch捕獲異常 153
•8.2.2 finally子語句 154
•8.2.3 throws和throw子語句 155
•8.2.4 異常處理語句的語法規則 155
•8.3 Java的異常類 158
•8.3.1 異常的分類 158
•8.3.2 運行時異常與受檢查異常的區別 158
•8.3.3 異常與錯誤的區別 159
•8.4 自定義異常類 159
•8.5 異常處理原則 160
•思考與練習 161
•第9章 Java中的I/O系統 162
•9.1 認識輸入流與輸出流 162
•9.2 輸入流 165
•9.2.1 位元組數組輸入流 166
•9.2.2 檔案輸入流 167
•9.2.3 檔案字元輸入流 169
•9.2.4 Java管道流 170
•9.3 過濾器輸入流 172
•9.3.1 DataInputStream的使用 174
•9.3.2 BufferedInputStream的使用 175
•9.4 輸出流 176
•9.4.1 位元組數組輸出流 176
•9.4.2 檔案輸出流 177
•9.5 過濾器輸出流 178
•9.5.1 FilterOutputStream 178
•9.5.2 DataOutputStream 178
•9.5.3 BufferedOutputStream 178
•9.5.4 PrintStream 179
•9.6 Reader與Writer 180
•9.6.1 InputStreamReader和OutputStreamWriter 180
•9.6.2 BufferedReader和BufferedWriter 181
•9.7 標準I/O 182
•9.8 File處理 183
•9.8.1 創建檔案與目錄 184
•9.8.2 隨機檔案訪問 186
•9.9 對象的序列化與反序列化 187
•思考與練習 190
•第10章 Java多執行緒 192
•10.1 執行緒的基本概念 192
•10.1.1 進程與執行緒 192
•10.1.2 執行緒的運行機制 193
•10.2 執行緒的創建與啟動 194
•10.2.1 繼承Thread類 194
•10.2.2 實現Runnable接口 195
•10.3 執行緒中常見的方法 196
•10.3.1 start()方法 197
•10.3.2 sleep()方法 197
•10.3.3 yield()方法 198
•10.3.4 join()方法 198
•10.4 執行緒的狀態轉換 201
•10.5 執行緒同步 202
•10.5.1 臨界資源問題 202
•10.5.2 互斥鎖 202
•10.5.3 多執行緒的同步 202
•10.5.4 同步與並發 206
•10.5.5 對象鎖與執行緒通信 206
•10.5.6 死鎖 209
•10.6 Daemon執行緒 212
•思考與練習 214
•第11章 數組和集合類 215
•11.1 Java數組 215
•11.1.1 數組的聲明、創建與初始化 215
•11.1.2 多維數組 217
•11.1.3 數組實用類Arrays 218
•11.2 Java集合 219
•11.2.1 Java中的集合概述 219
•11.2.2 Collection接口 220
•11.2.3 Iterator接口 221
•11.3 Set集合 222
•11.3.1 Set集合概述 222
•11.3.2 HashSet 223
•11.3.3 TreeSet 223
•11.4 List列表 225
•11.4.1 List列表概述 225
•11.4.2 List的實現類 226
•11.4.3 List的ListIterator接口 226
•11.5 Map映射 228
•11.5.1 Map映射概述 228
•11.5.2 Map的實現類 229
•思考與練習 232
•第12章 Java網路編程 233
•12.1 網路編程基礎 233
•12.1.1 網路的基本概念 233
•12.1.2 IP位址與連線埠 233
•12.1.3 TCP/IP的傳輸層協定 234
•12.2 URL套用 235
•12.2.1 統一資源定位器 235
•12.2.3 URL套用示例 236
•12.3 TCP編程 238
•12.3.1 Socket的基本概念 238
•12.3.2 Socket簡單編程套用 239
•12.3.3 支持多客戶的Client/Server套用 242
•12.4 UDP編程 246
•12.4.1 DatagramSocket類 246
•12.4.2 基於UDP的簡單的Client/Server程式設計 247
•思考與練習 251
•第13章 Java的常用類 252
•13.1 String類和StringBuffer類 252
•13.1.1 String類 252
•13.1.2 StringBuffer類 254
•13.2 基本數據類型封裝類 256
•13.3 Properties類 260
•13.4 Date與Calendar類 261
•13.4.1 Date類 262
•13.4.2 Calendar類 263
•13.5 Math與Random類 266
•思考與練習 267