CH1介紹Java基本觀念,主要內容有認識Java,介紹Java的起源、Java之父及Java發展史,接著介紹了Java的三大平台及認識Java SE平台的JDK/JRE/JVM,接續Java 跨平台原理與Java語言的特色。
CH2則進入Java基礎,透過詳細地說解建立我的第一個Java程式,並藉由解析Java的程式結構建立基礎,最後講說程式註解帶領讀者逐漸深入Java。
CH3講解Java程式語言最基礎的部分變數(variable),同時也介紹Java的資料類型。
CH4講解程式設計的相關專有名詞,未來讀者閱讀一些學術性的程式文件時,方便理解這些名詞的含義;以及指定運算子的特殊用法說明、基本數學運算、各類運算說解、Java運算子優先順序、資料型態的轉換與輸入、import與java.lang套件、程式敘述的結合與分行等重點概念建構。
CH5則是完整講解與流程控制有關的if和switch敘述。
CH6重點解說將有規律重複執行的工作,用迴圈方式完成。
CH7則是說解將相同類別的資料使用新的資料型態儲存與管理,而此新的資料型態則為「陣列(array)」。
CH8介紹的是可自行定義的資料型態稱類別資料型態,這也是Java 語言最核心的部分。
CH9則解說當我們宣告類別的物件配置記憶體空間後,其實類別應該就可以自行完成初始化的工作的方法,接著講解物件封裝(encapsulation)的知識。
CH10講解幾個在Java程式設計時常用的內建標準類別,有了這些內建標準類別的知識,未來面對實例時,可以更加活用這些範例。
CH11由於在使用Python設計應用程式時,難免會需要使用一些時間或日期資訊,本章介紹Java所提供的相關類別講解這方面的應用。
CH12介紹在Java程式設計期間常碰上的字元與字串有關的類別,以及相關知識。
CH13同時先介紹與正規表達式有關的String方法,期待讀者可以完全了解相關知識,最後再介紹正規表達式的套件java.util.regex。
CH14則說解在真實的程式設計中可能會設計許多類別,部分類別的屬性(或稱成員變數)與方法可能會重複,則可以有機制將重複的部分只寫一次,其他類別可以直接引用這個重複的部分,這樣可以讓整個Java 設計變的簡潔易懂,這個機制就是本章的主題繼承(Inheritance);另一個重要主題是多形(Polymorphism),在此做一個講解實踐多形的方法與觀念。
CH15詳細說明在Object( )類別中較常用的方法,以及實踐重新定義這些方法。
CH16講解如何建立抽象類別,為何使用抽象類別,以及抽象類別的語法規則。
CH17延續前章抽象類別,當普通類別繼承了抽象類別後,其實就形成了IS-A關係,並介紹予說明介面(Interface)的基本觀念。
CH18解說Java包裝(Wrapper)類別。
CH19解說設計套件(package),有了本章的觀念適切的規劃與分工,將可以讓你事半功倍。
CH20說明程式錯誤的類型、認識異常、以及處理異常(Exception Handling)。
CH21講解一個程式可以內含有多個執行緒,相當於同時執行工作。
CH22由於Java是使用串流(stream)觀念處理輸入與輸出I/O(Input/Output),所有相關類別均是在java.io套件內,本章將做完整說明。
CH23解說使用Java壓縮與解壓縮檔案,Java提供java.util.zip套件可以執行zip相容格式的檔案壓縮與解壓縮。
CH24說明Java Collection(Java 集合物件),由於集合所使用的觀念是泛型資料型態,因此將先介紹泛型(Generic)的知識,然後再進入Java Collection。
CH25則是由於Java語言自從Java 8或9後增加了許多功能,在此將本書前述各章中尚未介紹的新功能融合在實例內進行解說。
CH26由於目前使用Java設計視窗應用程式主流是Swing,然而這個Swing的許多物件也是以AWT的Container類別為基礎開發,所以本章解說AWT。
CH27延續前章設計了視窗框架以及內部元件,在使用所設計的視窗時我們會按一下功能鈕、選擇表單、滑鼠移動或點擊…等,這些動作在Java程式設計中稱事件(event),本章會將所產生的事件與所設計的元件結合,設計一系列相關的應用程式。
CH28則是由於本書至今已經說明許多視窗元件了,AWT仍有一些視窗元件尚未介紹,而於此章作補充說明。
目錄
Chapter 01 Java基本觀念
1-1 認識Java
1-2 Java的起源
1-3 Java之父
1-4 Java發展史
1-5 Java的三大平台
1-6 認識JavaSE 平台的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 Java8後的新日期與時間類別
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 Java8新增加介面內容
17-4 Java9新增加介面內容
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 JavaCollection
24-0 認識泛型Generic
24-1 認識集合物件
24-2 List 介面
24-3 Set 介面
24-4 Map 介面
24-5 JavaCollections 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 01 Java基本觀念
1-1 認識Java
1-2 Java的起源
1-3 Java之父
1-4 Java發展史
1-5 Java的三大平台
1-6 認識JavaSE 平台的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 程式設計的專有名...