圖書總覽

字級:
小字級
中字級
大字級

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

作者:洪錦魁
出版日期:2018/05/31
語言:繁體中文
書號:XA1822
ISBN:9789865001902
裝訂:平裝
定價:699 元

超凡特點

● 完全征服最新版Java從入門到精通。
● 第一本彩色Java書。
● 300張圖解說明,600個程式實例,完全解析Java。
這本書將在北京清華大學與台灣深石數位科技同步發行,這是中文第一本全彩Java圖書,這是一本從入門開始到完整學習Java的書籍,全書使用超過300張全彩圖解說明,超過600個程式實例,整本書包含31個章節內容,一步一步引導讀者。只要讀者遵循本書步驟學習,一定可以學得更多更廣Java知識,讓自己邁向高手之路。

本書精要

全書300個彩色圖解說明
全書600個彩色程式實例
完整解說物件導向程式設計
繼承、多形、抽象、介面
正規表達式與文字探勘
包裝(Wrapper)類別
大型程式設計
哈希碼(hashcode)
多執行緒與程式異常處理
檔案輸入與輸出
壓縮與解壓縮檔案設計
Java 10解說Java Collection
使用AWT設計視窗程式
事件處理
使用Swing設計視窗程式
繪圖與動畫
網路程式設計
簡易網路聊天室設計
附專有名詞和方法索引表

本書內容

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仍有一些視窗元件尚未介紹,而於此章作補充說明。
CH29:介紹視窗程式設計使用Swing,Swing是完全由Java語言設計的套件,它是JFC(Java Foundation Classes)的一部份,主要是用於圖形使用者介面(GUI,Graphics User Interface)的視窗應用程式設計,這是一個獨立於平台的套件,所設計的程式在所有平台會呈現相同結果,目前這也是主流程式設計師所使用的套件。
CH30:介紹Java之Graphics類別與子類別Graphics2D,這2個類別主要是提供使用者可以在視窗內繪製圖形,讀者可以選擇在AWT視窗、Swing視窗;繪圖實作其實與工作平台或可想成作業系統有關,但是Graphics介面已經有提供獨立於個別平台的的方法,可以使用它們繪製文字、圖像,然後可以在所有平台運行,另外亦加說明字型(Font)和色彩(Color)的處理。
CH31:介紹Java的網路觀念,主要是將2個或多個電腦連接,達到資源共享的目的;也介紹socket程式設計觀念,教導讀者設計一個主從架構與UDP架構的網路程式,最後則是講解設計簡單的網路聊天室。
附錄A、B、C:解說Java之下載、安裝與環境設定,提供Java的函數或方法索引表,以及提供Java之關鍵字或專有名詞索引表。

書附光碟內容

CD/全書程式實例、第1章~第31章習題
(書附光碟範例素材檔案,僅供練習、教學用;非經作者授權不得作為商業用途或散播。)

作者簡介

洪錦魁簡介
一位跨越電腦作業系統與科技時代的資深電腦專家、著作等身的作家。
 

  •  DOS時代他的代表作品是"IBM PC組合語言、C、C++、Pascal"。
  •  Windows時代表他的代表作品是“Windows Programming使用C、使用Visual Basic”。
  •  Internet 時代他的代表作品是"網頁設計使用HTML"。
  •  大數據時代他的代表作品是"R語言邁向Big Data之路"。

  除了作品被翻譯為簡體中文、馬來西亞文外,2000年"網頁設計使用HTML"更被翻譯為Mastering HTML英文版行銷美國。
近年來作品則是在北京清華大學和台灣深石數位同步發行。他的近期重要作品如下:
1. Java入門邁向高手之路王者歸來。
2. Python入門邁向高手之路王者歸來。
3. HTML5+CSS3王者歸來。
4. R 語言邁向Big Data之路。
他的著作最大特色是,所有程式語法會依特性分類,同時以實用的程式範例做解說,讓整本書淺顯易懂。讀者可由他的著作,事半功倍輕鬆掌握相關的知識。

目錄

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 關鍵字或專有名詞索引表

TOP