內容簡介
《JavaJDK6學習筆記》中介紹了JavaJDK6中新增的功能。JavaJDK6加強了java.lang、java.util、java.io、java.awt等套件的功能,並增加了JDBC4.0新功能。另外,在JDK6中還包括了ApacheDerby純Java數據為。
本書門檻很低,只要您了解Windows基本操作,無須有其他程式語言的基礎,甚至沒有接觸過Java,都可以通過本書扎紮實實地學習Java。而對於一些曾經學習過Java,但概念和基礎仍不紮實的讀者,本書也準備了一些面向對象的觀點與進階的議題可供參考。
作者簡介
林信良(網史:良葛格),學歷:台灣大學電機工程學系,經歷:SUN教育培訓技術顧問與專業講師,SUN官方教材主要編寫成員之一,著作:《JavaJDK5.0學習筆記》、《JavaSE6技術手冊》、《Spring技術手冊》譯作:《Ajax實戰手冊》。
編輯推薦
《JavaJDK6學習筆記》是目前市場上第一本面向JDK6的Java優秀著作。
本書特色:
分享作者林信良Java學習心得
新增JDBC介紹
JavaJDK6新功能介紹
適用於各領域的輸入/輸出、執行緒、反射等主題
目錄
第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 10
1.4 接下來的主題 11
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 22
2.3 第一個Java程式 23
2.3.1 編寫和編譯Java程式 23
2.3.2 執行Java程式 25
2.4 選擇開發工具 26
2.5 接下來的主題 28
2.6 網路資源 29
第3章 語法入門 31
3.1 第一個Java程式 32
3.1.1 解釋第一個Java程式 32
3.1.2 給C用戶的第一個
Java 程式 34
3.1.3 為程式加入注釋 36
3.2 在命令行模式下與程式互動 37
3.2.1 使用Scanner取得輸入 37
3.2.2 使用BufferedReader取得輸入 39
3.2.3 標準輸入/輸出串 41
3.2.4 輸出格式控制 42
3.3 數據和運算 45
3.3.1 數據類型 45
3.3.2 變數和常量 47
3.3.3 算術運算 50
3.3.4 比較和條件運算 52
3.3.5 邏輯和位運算 54
3.3.6 遞增和遞減運算 59
3.4 流程控制 62
3.4.1 if條件式 62
3.4.2 switch條件式 66
3.4.3 for循環 68
3.4.4 while循環 70
3.4.5 break和continue 73
3.5 接下來的主題 75
3.6 網路資源 75
第4章 從autoboxing和unboxing認識對象 77
4.1 關於對象 78
4.1.1 使用對象 78
4.1.2 打包(Wrap)基本數據類型 81
4.2 自動裝箱和拆箱 83
4.2.1 autoboxing和unboxing 83
4.2.2 小心使用boxing 85
4.3 接下來的主題 87
4.4 網路資源 87
第5章 數組 89
5.1 一維數組和二維數組 90
5.1.1 一維數組對象 90
5.1.2 二維數組對象 94
5.2 高級數組概念 98
5.2.1 高級的數組操作 98
5.2.2 Arrays類 101
5.2.3 foreach與數組 106
5.2.4 數組對象 107
5.3 接下來的主題 108
5.4 網路資源 108
第6章 字元串 111
6.1 認識字元串 112
6.1.1 String類 112
6.1.2 不可變(Immutable)字元串 116
6.1.3 StringBuilder類 120
6.2 字元串高級運用 122
6.2.1 命令行變數 122
6.2.2 分離字元串 124
6.2.3 使用正則表示式
(Regular Expression) 125
6.2.4 Pattern和Matcher 129
6.3 接下來的主題 131
6.4 網路資源 131
第7章 封裝 133
7.1 定義類 134
7.1.1 以對象思考問題 134
7.1.2 使用class定義類 136
7.1.3 類成員(Class Member) 140
7.1.4 構造函式(Constructor) 143
7.1.5 關於this 145
7.1.6 關於static 147
7.2 關於方法 150
7.2.1 重載(Overload)方法 151
7.2.2 不定長度參數 153
7.2.3 遞歸方法 154
7.2.4 垃圾收集 156
7.3 接下來的主題 158
7.4 網路資源 159
第8章 繼承和多態 161
8.1 繼承 162
8.1.1 擴展(Extends)父類 162
8.1.2 受保護的(Protected)成員 165
8.1.3 重寫(Override)方法 167
8.1.4 Object類 170
8.1.5 toString()、equals()和
hashCode()方法 173
8.1.6 clone()方法 175
8.1.7 final關鍵字 178
8.2 多態 178
8.2.1 多態導論 179
8.2.2 抽象類(Abstract Class) 180
8.2.3 抽象類套用 183
8.2.4 接口(Interface) 186
8.3 接下來的主題 189
8.4 網路資源 190
第9章 管理類檔案 191
9.1 內嵌類 192
9.1.1 成員內嵌類和區域內嵌類 192
9.1.2 匿名內嵌類 194
9.2 package與import 196
9.2.1 設定包(Package) 196
9.2.2 import的意義 199
9.2.3 public與包 201
9.2.4 import靜態成員 204
9.3 接下來的主題 207
9.4 網路資源 207
第10章 異常處理 209
10.1 異常處理入門 210
10.2 可控式異常(Checked
Exception)和執行時異常(Runtime Exception) 212
10.3 throw和throws 213
10.4 異常的繼承架構 217
10.5 斷言(Assertion) 220
10.6 接下來的主題 222
10.7 網路資源 223
第11章 枚舉類型 225
11.1 常數設定與枚舉類型 226
11.1.1 常數設定 226
11.1.2 枚舉類型入門 227
11.2 定義枚舉類型 230
11.2.1 深入枚舉類型 231
11.2.2 枚舉上的方法 233
11.2.3 因值而異的類實現(Value- Specific Class Bodies) 235
11.3 接下來的主題 237
11.4 網路資源 238
第12章 泛型 239
12.1 泛型入門 240
12.1.1 沒有泛型之前 240
12.1.2 定義泛型類 242
12.1.3 幾個定義泛型的例子 244
12.2 泛型高級語法 246
12.2.1 限制泛型可用類型 247
12.2.2 類型通配字元(Wildcard) 249
12.2.3 擴充泛型類和實現
泛型接口 251
12.3 接下來的主題 253
12.4 網路資源 253
第13章 對象容器 255
13.1 Collection類 256
13.1.1 簡介List接口 256
13.1.2 ArrayList 258
13.1.3 LinkedList 261
13.1.4 HashSet 266
13.1.5 TreeSet 268
13.1.6 EnumSet 271
13.2 Map類 273
13.2.1 HashMap 273
13.2.2 TreeMap 276
13.3 接下來的主題 279
13.4 網路資源 279
第14章 輸入/輸出 281
14.1 檔案 282
14.1.1 File類 282
14.1.2 RandomAccessFile類 284
14.2 位流 288
14.2.1 InputStream和
OutputStream 288
14.2.2 FileInputStream和
FileOutputStream 290
14.2.3 BufferedInputStream和
BufferedOutputStream 293
14.2.4 DataInputStream和
DataOutputStream 295
14.2.5 ObjectInputStream和
ObjectOutputStream 298
14.2.6 SequenceInputStream 304
14.2.7 PrintStream 307
14.2.8 ByteArrayInputStream和
ByteArrayOutputStream 309
14.2.9 PushbackInputStream 311
14.3 字元流 313
14.3.1 Reader和Writer 314
14.3.2 InputStreamReader和OutputStreamWriter 315
14.3.3 FileReader和FileWriter 317
14.3.4 BufferedReader和BufferedWriter 318
14.3.5 PrintWriter 320
14.3.6 CharArrayReader和CharArrayWriter 322
14.3.7 PushbackReader 324
14.4 接下來的主題 326
14.5 網路資源 327
第15章 執行緒(Thread) 329
15.1 執行緒入門 330
15.1.1 繼承Thread 330
15.1.2 實現 Runnable界面 332
15.1.3 Daemon 執行緒 335
15.1.4 執行緒生命周期 336
15.1.5 執行緒的加入(Join) 339
15.1.6 執行緒的停止 341
15.1.7 ThreadGroup 343
15.1.8 UncaughtExceptionHandler 345
15.2 同步(Synchronized) 346
15.2.1 同步化 347
15.2.2 wait()和notify() 352
15.2.3 容器類的執行緒安全(Thread-safe) 358
15.2.4 ThreadLocal類 359
15.3 concurrent套件新增類 363
15.3.1 BlockingQueue 363
15.3.2 Callable與Future 366
15.3.3 Executors 369
15.4 接下來的主題 371
15.5 網路資源 372
第16章 反射 375
16.1 類載入與查看 376
16.1.1 簡介Class與類載入 376
16.1.2 使用Class.forName()
載入類 379
16.1.3 從Class中獲取信息 382
16.1.4 簡介類載入器 385
16.1.5 使用自己的ClassLoader 390
16.2 使用反射生成與操作對象 394
16.2.1 生成對象 394
16.2.2 調用方法 397
16.2.3 修改成員值 402
16.2.4 再看數組對象 404
16.2.5 Proxy類 407
16.3 接下來的主題 410
16.4 網路資源 410
第17章 Annotation 411
17.1 Annotation概述 412
17.1.1 限定Override父類方法 @Override 412
17.1.2 標示方法為Deprecated @Deprecated 413
17.1.3 抑制編譯器警告 @SuppressWarnings 415
17.1.4 自定義Annotation類型 416
17.2 meta-annotation 419
17.2.1 告知編譯器如何處理annotation @Retention 419
17.2.2 限定annotation 使用
對象@Target 422
17.2.3 要求為API檔案的
一部分@Documented 423
17.2.4 子類是否繼承父類的annotation @Inherited 425
17.3 接下來的主題 426
17.4 網路資源 426
第18章 拾遺補缺 427
18.1 日期和時間 428
18.1.1 使用 Date 428
18.1.2 使用 Calendar 432
18.2 日誌(Logging) 436
18.2.1 簡介Logging 436
18.2.2 Logging 的等級 438
18.2.3 Handler和Formatter 441
18.2.4 自定義 Formatter 443
18.2.5 Logger層次關係 445
18.3 信息綁定 446
18.3.1 使用ResourceBundle 446
18.3.2 格式化信息 448
18.3.3 國際化信息 450
18.4 接下來的主題 452
第19章 專題製作—— 文字編輯器 453
19.1 產品生命周期 454
19.1.1 分析(Analysis) 454
19.1.2 設計(Design) 457
19.1.3 開發(Development) 457
19.1.4 測試(Testing) 457
19.1.5 完成(Implementation) 457
19.1.6 維護(Maintenance) 458
19.1.7 結束生命周期
(End-of-Life,EOL) 458
19.2 Swing入門 458
19.2.1 Swing簡介 458
19.2.2 設計主視窗與選單欄 460
19.2.3 版面管理 465
19.3 事件處理 469
19.3.1 Java事件模型 470
19.3.2 文字編輯器的事件處理 470
19.4 文字編輯與保存 477
19.4.1 打開檔案的流程處理 477
19.4.2 保存檔案的流程處理 480
19.4.3 關閉檔案的流程處理 481
19.4.4 文字區的編輯、剪下、
複製和貼上 482
19.5 Executable Jar的製作 483
19.6 接下來的主題 486
19.7 網路資源 486
第20章 JDBC入門 489
20.1 使用JDBC連線資料庫 490
20.1.1 簡介JDBC 490
20.1.2 連線資料庫 492
20.1.3 簡單的Connection
工具類 494
20.1.4 簡單的連線池
(Connection pool) 498
20.2 使用JDBC進行數據操作 501
20.2.1 Statement、ResultSet 501
20.2.2 PreparedStatement 504
20.2.3 LOB讀寫 507
20.2.4 事務(Transaction) 510
20.2.5 批處理 512
20.2.6 ResultSet游標控制 513
20.2.7 ResultSet新增、更新、
刪除數據 515
20.2.8 ResultSetMetaData 517
20.3 接下來的主題 518
20.4 網路資源 519
第21章 Java SE 6新功能簡介 521
21.1 Java SE 6基本新功能 522
21.1.1 java.lang包 522
21.1.2 java.util包 522
21.1.3 java.io包 526
21.1.4 java.awt包 528
21.1.5 Classpath簡化設定 531
21.2 Apache Derby、JDBC 4.0 532
21.2.1 使用Apache Derby 532
21.2.2 載入驅動程式 535
21.2.3 改進的異常處理 536
21.2.4 BLOB、CLOB的改進 537
21.3 接下來的主題 537
附錄A Ant簡介 539
A.1 Ant設定 540
A.2 第一個Ant構建 541
A.3 任務(Target) 544
A.4 屬性(Property) 546
A.5 路徑(Path) 547
A.6 常用任務(Task) 548
A.7 一個簡單的buildfile 551
附錄B JUnit簡介 553
B.1 單元測試(Unit Test) 554
B.2 JUnit設定 556
B.3 第一個JUnit測試 556
B.4 自動構建與測試 559
B.5 自動生成測試報告 560
附錄C MySQL簡介 565
C.1 MySQL安裝與設定 566
C.2 MySQL的數據類型 567
C.3 建立資料庫、數據表 570
C.4 CRUD操作 571