Java 入門 邁 向 高手 之 路 王者 歸來

Chapter 01 Java基本觀念
1-1 認識Java
1-2 Java的起源
1-3 Java之父
1-4 Java發展史
1-5 Java的三大平台
1-6 認識Java SE平台的JDK/JRE/JVM
1-7 Java跨平台原理
1-8 Java語言的特色

Chapter 02 Java程式從零開始
2-1 我的第一個Java程式
2-2 解析Java的程式結構
2-3 程式註解

Chapter 03 Java語言基礎
3-1 認識變數(Variable)
3-2 基本資料型態(Primitive Data Types)
3-3 字串(String)資料型態
3-4 常數(Constant)的觀念
3-5 精準控制格式化的輸出

Chapter 04 程式基本運算
4-1 程式設計的專有名詞
4-2 指定運算子的特殊用法說明
4-3 基本數學運算
4-4 複合指定運算子(Compound Assignment Operator)
4-5 布林運算、反向運算、比較運算與邏輯運算
4-6 位元運算(Bitwise Operation)
4-7 Java 運算子優先順序
4-8 資料型態的轉換(Data Type Conversion)
4-9 資料的轉換與輸入
4-10 淺談import與java.lang套件
4-11 程式敘述的結合與分行

Chapter 05 程式流程控制
5-1 if 敘述
5-2 switch 敘述

Chapter 06 迴圈控制
6-1 for迴圈
6-2 巢狀for迴圈
6-3 while 迴圈
6-4 巢狀while迴圈
6-5 do while迴圈
6-6 無限迴圈
6-7 迴圈與break敘述
6-8 迴圈與continue敘述
6-9 迴圈標籤與break/continue
6-10 將迴圈觀念應用在Scanner類別的輸入檢查
6-11 迴圈相關的程式應用

Chapter 07 陣列
7-1 認識陣列(Array)
7-2 陣列的宣告與應用
7-3 Java參照資料型態(Reference Data Types)
7-4 Java垃圾回收(Garbage Collection)
7-5 多維陣列的原理
7-6 Java命令列參數
7-7 二維陣列的程式應用

Chapter 08 類別與物件
8-1 認識物件與類別
8-2 定義類別與物件
8-3 類別的基本實例
8-4 類別含多個物件的應用
8-5 類別的參照資料型態
8-6 再談方法(method)
8-7 變數的有效範圍
8-8 匿名陣列(Anonymous Array)
8-9 遞迴式方法設計recursive
8-10 河內塔問題

Chapter 09 物件建構與封裝
9-1 建構方法(Constructor)
9-2 類別的訪問權限–封裝(Encapsulation)
9-3 static關鍵字

Chapter 10 內建Math和Random類別
10-1 數學常數
10-2 隨機數的應用
10-3 求較大值max( )/較小值方法min( )
10-4 求絕對值方法abs( )
10-5 四捨五入round( )
10-6 返回最接近的整數值rint( )
10-7 求近似值ceil( )/floor( )
10-8 一般的數學運算方法
10-9 三角函數的應用
10-10 Random類別

Chapter 11 日期與時間的類別
11-1 Date類別
11-2 Java 8後的新日期與時間類別

Chapter 12 字元與字串類別
12-1 字元Character類別
12-2 字串的建立
12-3 String類別的方法
12-4 StringBuffer類別
12-5 StringBuilder類別
12-6 字串陣列的應用

Chapter 13 正規表達式Regular Expression
13-1 使用Java硬功夫搜尋文字
13-2 使用String類別處理正規表達式
13-3 正規表達式的特殊字元
13-4 matches( )方法的萬用程式與功能擴充
13-5 再談String 類別有關的正規表達方法
13-6 正規表達式套件

Chapter 14 繼承與多形
14-1 繼承(Inheritance)
14-2 IS-A 和HAS-A 關係
14-3 Java 程式碼太長的處理
14-4 重新定義(Override)
14-5 多重定義(Overload)父類別的方法
14-6 多形(Polymorphism)
14-7 靜態綁定(Static Binding)與動態綁定(Dynamic Binding)
14-8 巢狀類別(Nested classes)

Chapter 15 Object 類別
15-1 認識擴充Object 類別
15-2 Object 類別的方法
15-3 認識哈希碼(hashcode)與hashCode( )
15-4 equals( )方法
15-5 toString( )方法
15-6 getClass( )方法

Chapter 16 抽象類別(Abstract Class)
16-1 使用抽象類別的場合
16-2 抽象類別基本觀念
16-3 抽象方法的基本觀念
16-4 抽象類別與抽象方法觀念整理
16-5 抽象類別的建構方法
16-6 使用Upcasting 宣告抽象類別的物件
16-7 抽象類別與方法的程式應用

Chapter 17 介面(Interface)
17-1 認識介面
17-2 介面的成員變數
17-3 Java 8 新增加介面內容
17-4 Java 9 新增加介面內容
17-5 基本介面的繼承
17-6 介面多重繼承(Multiple Inheritance)
17-7 實作時發生成員變數有相同名稱
17-8 類別重新定義Default 方法
17-9 一個類別同時繼承類別與實作介面
17-10 類別分別繼承父類別與實作介面發生方法名稱衝突
17-11 多層次繼承中發生Default方法名稱相同
17-12 名稱衝突的鑽石(Diamond)問題

Chapter 18 Java包裝(Wrapper)類別
18-1 基本觀念
18-2 認識包裝類別
18-3 認識自動封箱(Autoboxing)與拆箱(Unboxing)
18-4 建立包裝類別物件
18-5 使用valueOf( )建立物件
18-6 取得Number類別物件的值
18-7 包裝類別的常數
18-8 將基本資料轉成字串toString( )
18-9 將字串轉成基本資料型態parseXXX( )
18-10 比較方法

Chapter 19 設計套件(Package)
19-1 複習套件名稱的匯入
19-2 設計Java 套件基礎知識
19-3 Java 套件的優點
19-4 建立、編譯與執行套件
19-5 套件與應用程式分屬不同資料夾
19-6 建立子套件
19-7 套件的存取控制
19-8 將抽象類別應用在套件
19-9 將編譯檔案送至不同資料夾的方法

Chapter 20 程式異常的處理
20-1 認識程式錯誤的類別
20-2 認識簡單的異常實例
20-3 處理異常方法
20-4 try-catch
20-5 捕捉上層的異常
20-6 try/catch/finally
20-7 Throwable類別
20-8 自行拋出異常throw
20-9 方法拋出異常throws
20-10 使用者自訂異常類別

Chapter 21 多執行緒
21-1 認識程式(Program)、行程(Process)、執行緒(Thread)
21-2 認識多工作業(Multitasking)
21-3 Java的多執行緒
21-4 執行緒的生命週期
21-5 建立執行緒
21-6 再看Java執行緒的工作原理
21-7 讓執行緒進入睡眠
21-8 執行緒的join( )方法
21-9 執行緒的優先順序值
21-10 守護(Daemon)執行緒
21-11 Java的同步(Synchronization)
21-12 匿名類別(Anonymous Class)
21-13 同步區塊(Synchronized Block)
21-14 同步靜態方法(Sychronized Static Methods)
21-15 認識死結Deadlock
21-16 執行緒內部通信(Inter-thread communication)

Chapter 22 輸入與輸出
22-1 認識串流(Stream)
22-2 InputStream和OutputStream類別圖
22-3 適用byte資料檔案輸入與輸出
22-4 使用緩衝區處理byte資料檔案輸入與輸出
22-5 Writer和Reader類別
22-6 字元讀取與寫入FileReader類別與FileWriter類別
22-7 字元資料輸入與輸出BufferedReader/BufferedWriter
22-8 System類別
22-9 PrintStream類別
22-10 Console類別
22-11 檔案與資料夾的管理File類別

Chapter 23 壓縮與解壓縮檔案
23-1 基本觀念與認識java.util.zip套件
23-2 壓縮(Zip)檔案
23-3 解壓縮(Unzip)檔案

Chapter 24 Java Collection
24-0 認識泛型Generic
24-1 認識集合物件
24-2 List介面
24-3 Set介面
24-4 Map介面
24-5 Java Collections Framework架構之演算法

Chapter 25 現代Java運算
25-1 增強版的匿名內部類別
25-2 Lambda表達式
25-3 forEach( )
25-4 方法參照(method references)
25-5 Java的工廠方法(Factory Methods)
25-6 Java新的版本字串格式

Chapter 26 視窗程式設計使用AWT
26-1 AWT類別結構圖
26-2 Frame類別
26-3 視窗元件顏色的設定Color類別
26-4 標籤Label類別
26-5 字型設定Font類別
26-6 Button類別
26-7 建立文字輸入物件
26-8 Checkbox類別
26-9 CheckboxGroup類別
26-10 版面配置管理員(LayoutManagers)

Chapter 27 事件處理
27-1 委派事件模式(Delegation event model)
27-2 簡單按鈕事件處理
27-3 認識事件處理類別
27-4 ActionEvent事件類別
27-5 ItemEvent類別
27-6 TextEvent類別
27-7 KeyEvent類別
27-8 KeyAdapter類別
27-9 MouseEvent類別
27-10 WindowEvent類別
27-11 WindowAdapter類別

Chapter 28 再談AWT物件
28-1 表單List類別
28-2 下拉式選單Choice類別
28-3 功能表設計
28-4 捲軸Scrollbar類別
28-5 對話方塊Dialog類別
28-6 檔案對話方塊FileDialog類別

Chapter 29 視窗程式設計使用Swing
29-1 Swing階層結構圖
29-2 JFrame類別
29-3 JButton類別
29-4 JLabel 類別
29-5 JCheckBox類別
29-6 JRadioButton類別
29-7 JOptionPane類別
29-8 JList 類別
29-9 JColorChooser類別
29-10 JTextField類別
29-11 JTextArea類別
29-12 JPasswordField類別
29-13 JTabbedPane類別
29-14 本章結尾

Chapter 30 繪圖與動畫
30-1 認識座標系統
30-2 AWT繪圖
30-3 Swing繪圖
30-4 顏色與字型
30-5 Graphics類別與
30-6 Graphics2D類別
30-7 專題拖曳滑鼠可以繪製線條
30-8 動畫設計

Chapter 31 網路程式設計
31-1 認識Internet網址
31-2 Java InetAddress類別
31-3 URL類別
31-4 URLConnection類別
31-5 HttpURLConnection 類別
31-6 主從架構(Client-Server)程式設計基本觀念
31-7 UDP 通訊

Appendix A Java下載、安裝與環境設定
A-1 下載Java
A-2 安裝Java
A-3 Java 環境設定
A-4 下載Java 10文件

Appendix B 函數或方法索引表
Appendix C 關鍵字或專有名詞索引表