圖書詳細信息
ISBN:9787302134329
定價:48元
印次:1-2
裝幀:平裝
印刷日期:2006-10-20
圖書簡介
本書是作者良葛格本人近幾年來學習Java的心得筆記,結構按照作者的學習脈絡依次展開,從什麼是Java、如何配置Java開發環境、基本的Java語法到程式流程控制、管理類檔案、異常處理、枚舉類型、泛型、J2SE中標準的API等均進行了詳細介紹。本書的最後一章還安排了一個“文字編輯器”的專題製作。
本書門檻很低,只要您了解Windows基本操作,無需有其他程式語言的基礎,甚或沒有接觸過Java,都可以通過本書扎紮實實地學習Java。而對於一些曾經學習過Java,但概念和基礎仍不紮實的讀者,本書也準備了一些面向對象的觀點與進階的議題可供參考。
目錄
第1章了解Java 1
1.1 什麼是Java 2
1.2 Java的特性 4
1.2.1 語言特性 4
1.2.2 套用平台 7
1.2.3 活躍的論壇與豐富
的資源 9
1.3 如何學習Java 9
1.4 接下來的主題 10
1.5 網路資源 11
第2章入門準備 13
2.1 下載、安裝和了解JDK 14
2.1.1 下載JDK 14
2.1.2 安裝JDK 16
2.1.3 了解JDK 17
2.2 設定Path與Classpath 19
2.2.1 設定Path 19
2.2.2 設定Classpath 21
2.3 第一個Java程式 22
2.3.1 編寫和編譯Java程式 22
2.3.2 執行Java程式 24
2.4 選擇開發工具 25
2.5 接下來的主題 27
2.6 網路資源 27
第3章語法入門 29
3.1 第一個Java程式 30
3.1.1 解釋第一個Java程式 30
3.1.2 給C使用者的第一個
Java程式 32
3.1.3 為程式加入注釋 34
3.2 在命令行模式下與程式互動 35
3.2.1 使用Scanner取得輸入 35
3.2.2 使用BufferedReader
取得輸入 37
3.2.3 標準輸入/輸出串 39
3.2.4 輸出格式控制 40
3.3 數據和運算 43
3.3.1 數據類型 43
3.3.2 變數和常量 45
3.3.3 算術運算 47
3.3.4 比較和條件運算 49
3.3.5 邏輯和位運算 52
3.3.6 遞增和遞減運算 57
3.4 流程控制 60
3.4.1 if條件式 60
3.4.2 switch條件式 64
3.4.3 for循環 66
3.4.4 while循環 68
3.4.5 break和continue 71
3.5 接下來的主題 72
3.6 網路資源 73
第4章從autoboxing和unboxing
認識對象 75
4.1 關於對象 76
4.1.1 使用對象 76
4.1.2 打包(Wrap)基本數據類型 79
4.2 自動裝箱和拆箱 81
4.2.1 autoboxing和unboxing 81
4.2.2 小心使用boxing 83
4.3 接下來的主題 85
4.4 網路資源 85
第5章數組 87
5.1 一維數組和二維數組 88
5.1.1 一維數組對象 88
5.1.2 二維數組對象 92
5.2 高級數組概念 95
5.2.1 高級的數組操作 96
5.2.2 Arrays類 99
5.2.3 foreach與數組 102
5.3 接下來的主題 103
5.4 網路資源 104
第6章字元串 105
6.1 認識字元串 106
6.1.1 String類 106
6.1.2 不可變(Immutable)字元串 110
6.1.3 StringBuilder類 114
6.2 字元串高級運用 116
6.2.1 命令行變數 116
6.2.2 分離字元串 118
6.2.3 使用正則表示式
(RegularExpression) 119
6.2.4 Pattern和Matcher 123
6.3 接下來的主題 125
6.4 網路資源 125
第7章封裝 127
7.1 定義類 128
7.1.1 以對象思考問題 128
7.1.2 使用class定義類 130
7.1.3 類成員(ClassMember) 134
7.1.4 構造函式(Constructor) 137
7.1.5 關於this 140
7.1.6 關於static 142
7.2 關於方法 145
7.2.1 重載(Overload)方法 145
7.2.2 不定長度參數 147
7.2.3 遞歸方法 149
7.2.4 垃圾收集 150
7.3 接下來的主題 153
7.4 網路資源 153
第8章繼承和多態 155
8.1 繼承 156
8.1.1 擴展(Extends)父類 156
8.1.2 受保護的(Protected)成員 158
8.1.3 重寫(Override)方法 160
8.1.4 Object類 163
8.1.5 toString()、equals()和
hashCode()方法 166
8.1.6 clone()方法 168
8.1.7 final關鍵字 171
8.2 多態 172
8.2.1 多態導論 172
8.2.2 抽象類(AbstractClass) 174
8.2.3 抽象類套用 176
8.2.4 接口(Interface) 179
8.3 接下來的主題 183
8.4 網路資源 183
第9章管理類檔案 185
9.1 內嵌類 186
9.1.1 成員內嵌類和區域內嵌類 186
9.1.2 匿名內嵌類 188
9.2 package與import 190
9.2.1 設定包(Package) 190
9.2.2 import的意義 192
9.2.3 public與包 195
9.2.4 import靜態成員 196
9.3 接下來的主題 198
9.4 網路資源 199
第10章異常處理 201
10.1異常處理入門 202
10.2可控式異常(Checked
Exception)和執行時異常(RuntimeException) 204
10.3throw和throws 205
10.4異常的繼承架構 209
10.5接下來的主題 212
10.6網路資源 212
第11章枚舉類型 215
11.1常數設定與枚舉類型 216
11.1.1 常數設定 216
11.1.2 枚舉類型入門 217
11.2定義枚舉類型 220
11.2.1 深入枚舉類型 221
11.2.2 枚舉上的方法 223
11.2.3 因值而異的類實現(Value-SpecificClassBodies) 225
11.3接下來的主題 227
11.4網路資源 228
第12章泛型 229
12.1泛型入門 230
12.1.1 沒有泛型之前 230
12.1.2 定義泛型類 232
12.1.3 幾個定義泛型的例子 234
12.2泛型高級語法 236
12.2.1 限制泛型可用類型 237
12.2.2 類型通配字元(Wildcard) 239
12.2.3 擴充泛型類和實現
泛型接口 241
12.3接下來的主題 243
12.4網路資源 243
第13章對象容器 245
13.1Collection類 246
13.1.1 簡介List接口 246
13.1.2 ArrayList 248
13.1.3 LinkedList 251
13.1.4 HashSet 256
13.1.5 TreeSet 258
13.1.6 EnumSet 260
13.2Map類 263
13.2.1 HashMap 263
13.2.2 TreeMap 266
13.3接下來的主題 269
13.4網路資源 269
第14章輸入/輸出 271
14.1檔案 272
14.1.1 File類 272
14.1.2 RandomAccessFile類 274
14.2位流 278
14.2.1 InputStream和
OutputStream 278
14.2.2 FileInputStream和
FileOutputStream 280
14.2.3 BufferedInputStream和
BufferedOutputStream 283
14.2.4 DataInputStream和
DataOutputStream 285
14.2.5 ObjectInputStream和
ObjectOutputStream 288
14.2.6 SequenceInputStream 294
14.2.7 PrintStream 297
14.2.8 ByteArrayInputStream和
ByteArrayOutputStream 299
14.2.9 PushbackInputStream 301
14.3字元流 303
14.3.1 Reader和Writer 304
14.3.2 InputStreamReader和OutputStreamWriter 305
14.3.3 FileReader和FileWriter 307
14.3.4 BufferedReader和BufferedWriter 308
14.3.5 PrintWriter 310
14.3.6 CharArrayReader和CharArrayWriter 312
14.3.7 PushbackReader 314
14.4接下來的主題 316
14.5網路資源 317
第15章執行緒 319
15.1執行緒入門 320
15.1.1 繼承Thread 320
15.1.2 實現Runnable接口 322
15.1.3 Daemon執行緒 325
15.1.4 執行緒生命周期 326
15.1.5 執行緒的加入(Join) 329
15.1.6 執行緒的停止 331
15.1.7 ThreadGroup 333
15.1.8 UncaughtExceptionHandler 335
15.2同步化(Synchronized)主題 336
15.2.1 同步化 336
15.2.2 wait()和notify() 341
15.2.3 容器類的執行緒安全(Thread-Safe) 346
15.2.4 ThreadLocal類 347
15.3接下來的主題 351
15.4網路資源 352
第16章反射 353
16.1類載入與查看 354
16.1.1 簡介Class與類載入 354
16.1.2 使用Class.forName()
載入類 357
16.1.3 從Class中獲取信息 360
16.1.4 簡介類載入器 363
16.1.5 使用自己的ClassLoader 368
16.2使用反射生成與操作對象 372
16.2.1 生成對象 372
16.2.2 調用方法 375
16.2.3 修改成員值 380
16.2.4 再看數組對象 382
16.2.5 Proxy類 385
16.3接下來的主題 388
16.4網路資源 388
第17章Annotation 389
17.1Annotation概述 390
17.1.1 限定Override父類方法@Override 390
17.1.2 標示方法為Deprecated@Deprecated 391
17.1.3 抑制編譯器警告@SuppressWarnings 393
17.1.4 自定義Annotation類型 394
17.2meta-annotation 397
17.2.1 告知編譯器如何處理annotation@Retention 397
17.2.2 限定annotation使用
對象@Target 400
17.2.3 要求為API檔案的
一部分@Documented 401
17.2.4 子類是否繼承父類的annotation@Inherited 403
17.3接下來的主題 404
17.4網路資源 404
第18章拾遺補缺 405
18.1日期和時間 406
18.1.1 使用Date 406
18.1.2 使用Calendar 410
18.2日誌(Logging) 414
18.2.1 簡介Logging 414
18.2.2 Logging的等級 416
18.2.3 Handler和Formatter 419
18.2.4 自定義Formatter 421
18.2.5 Logger層次關係 423
18.3信息綁定 424
18.3.1 使用ResourceBundle 424
18.3.2 格式化信息 426
18.3.3 國際化信息 428
18.4接下來的主題 430
第19章專題製作——文字編輯器 431
19.1 產品生命周期 432
19.1.1 分析(Analysis) 432
19.1.2 設計(Design) 435
19.1.3 開發(Development) 435
19.1.4 測試(Testing) 435
19.1.5 完成(Implementation) 435
19.1.6 維護(Maintenance) 436
19.1.7 結束生命周期
(End-of-Life,EOL) 436
19.2 Swing入門 436
19.2.1 Swing簡介 436
19.2.2 設計主視窗與選單欄 438
19.2.3 版面管理 443
19.3 事件處理 447
19.3.1 Java事件模型 448
19.3.2 文字編輯器的事件處理 448
19.4 文字編輯與保存 455
19.4.1 打開檔案的流程處理 455
19.4.2 保存檔案的流程處理 458
19.4.3 關閉檔案的流程處理 459
19.4.4 文字區的編輯、剪下、
複製和貼上 460
19.5 接下來的主題 461
附錄A Ant簡介 463
A.1 Ant設定 464
A.2 第一個Ant構建 465
A.3 任務(Target) 468
A.4 屬性(Property) 470
A.5 路徑(Path) 471
A.6 常用任務(Task) 472
A.7 一個簡單的buildfile 475
附錄B JUnit簡介 477
B.1 單元測試(UnitTest) 478
B.2 JUnit設定 480
B.3 第一個JUnit測試 480
B.4 自動構建與測試 483
B.5 自動生成測試報告 484