Java 7程式設計

Java 7程式設計

《Java 7程式設計》是 2012年8月出版的圖書,作者是BudiKurniawan。該書以最新的Java 7為基礎,全面講解了Java程式語言、Java面向對象技術和核心類庫三大主題。

內容簡介

本書由全球資深Java技術專家、高級Java企業級套用架構師、《How Tomcat Works》作者親自執筆,權威性毋庸置疑。它包含大量案例,是系統學習Java 7程式設計的Bible級著作。本書是Java SE 7程式設計全面、系統的教程,涵蓋Java程式語言、Java OOP和Java核心類庫3大主題。本書首先介紹了Java 7的語法、語句、對象和類、核心類、繼承、錯誤處理等基礎知識,幫助讀者快速入門Java 7;然後深入解析了接口和抽象類、枚舉、集合框架、泛型、輸入輸出、嵌套類和內部類等內容,掌握這部分內容有助於深入理解Java的底層原理;接著闡述Swing的基礎和高級知識、多態、註解、國際化、Java網路、JDBC、Java執行緒、並發工具、安全、Java Web應用程式、JavaServer Pages、Javadoc,以及應用程式部署等內容,掌握這部分內容有助於提升編程技能。

本書結構清晰、環環相扣,便於讀者高效地學習Java語言。本書是打造專業級Java程式設計師的參考讀物,也可以作為計算機相關專業的教材。

目錄

譯者序

前 言

第1章 初識Java1

1.1 第一個Java程式1

1.1.1 編寫Java程式1

1.1.2 編譯Java程式1

1.1.3 運行Java程式2

1.2 Java編碼規範2

1.3 集成開發環境(IDE)3

1.4 小結4

習題4

第2章 語言基礎5

2.1 ASCII和Unicode5

2.2 分隔設定7

2.3 基本類型7

2.4 變數8

2.5 常量10

2.6 字面量11

2.6.1 整數字面量11

2.6.2 浮點字面量12

2.6.3 布爾字面量13

2.6.4 字元字面量13

2.7 基本類型轉換14

2.7.1 擴大轉換14

2.7.2 縮小轉換15

2.8 操作符15

2.8.1 一元操作符16

2.8.2 算術操作符18

2.9 註解24

2.10 小結25

習題25

第3章 語句26

3.1 Java語句概述26

3.2 if語句27

3.3 while語句29

3.4 do-while語句30

3.5 for語句31

3.6 break語句34

3.7 continue語句35

3.8 switch語句35

3.9 小結36

習題36

第4章 對象和類38

4.1 什麼是Java對象38

4.2 Java類39

4.2.1 域40

4.2.2 方法40

4.2.3 UML類圖中的類成員42

4.3 創建對象42

4.4 關鍵字null43

4.5 記憶體中的對象43

4.6 Java包46

4.7 封裝和訪問控制47

4.7.1 類訪問控制修飾符47

4.7.2 類成員訪問控制修飾符49

4.8 關鍵字this51

4.9 使用其他類52

4.10 final變數53

4.11 靜態成員54

4.12 靜態final變數55

4.13 靜態導入56

4.14 變數作用域57

4.15 方法重載58

4.16 賦值傳遞還是引用傳遞59

4.17 載入、連結和初始化59

4.17.1 載入60

4.17.2 連結60

4.17.3 初始化60

4.18 對象創建初始化61

4.19 對象的比較64

4.20 垃圾回收器64

4.21 小結64

習題65

第5章 核心類66

5.1 java.lang.Object66

5.2 java.lang.String67

5.2.1 比較兩個String對象68

5.2.2 字元串字面量69

5.2.3 字元轉義69

5.2.4 switch中的String 69

5.2.5 String類的構造器70

5.2.6 String類的方法71

5.3 java.lang.StringBuffer和java.lang.StringBuilder73

5.3.1 StringBuilder類的構造器73

5.3.2 StringBuilder類的方法74

5.4 基本類型包裝74

5.4.1 java.lang.Integer75

5.4.2 java.lang.Boolean75

5.4.3 java.lang.Character76

5.5 數組76

5.5.1 疊代數組78

5.5.2 修改數組大小78

5.5.3 將String數組傳遞給main80

5.6 java.lang.Class80

5.7 java.lang.System81

5.8 java.util.Scanner85

5.9 裝箱和拆箱85

5.10 可變參數85

5.11 格式和printf方法86

5.12 小結87

習題87

第6章 繼承88

6.1 繼承概述88

6.1.1 關鍵字extends88

6.1.2 is-a關係89

6.2 可訪問性90

6.3 方法覆蓋91

6.4 調用超類的構造器92

6.5 調用超類的隱藏成員94

6.6 類型轉換94

6.7 Final類95

6.8 關鍵字instanceof95

6.9 小結96

習題96

第7章 錯誤處理97

7.1 捕捉異常97

7.2 沒有catch的try99

7.3 捕捉多個異常99

7.4 try-with-resources語句99

7.5 java.lang.Exception類100

7.6 從方法拋出異常101

7.7 用戶自定義的異常102

7.8 異常處理總結103

7.9 小結104

習題104

第8章 數字和日期105

8.1 數字解析105

8.2 數字格式化106

8.3 用java.text.NumberFormat解析數字107

8.4 java.lang.Math類107

8.5 java.util.Date類108

8.6 java.util.Calendar類109

8.7 用DateFormat進行日期解析和格式化110

8.7.1 DateFormat110

8.7.2 SimpleDateFormat111

8.8 小結112

習題112

......

前言

歡迎閱讀本書。Java是一種很容易學會的成熟的程式語言,同時,它也匯集各種技術於一身,經常令初學者不知道從何入手。如果你也有同感,那么本書就很適合你,因為這是一本特意為初學者量身定製的教程。

作為面向初學者的教程,本書不是要教會你每一種Java技術(因為薄薄一本書是不可能囊括所有Java技術的,這也是大部分Java類書籍都只專注於某一種技術的原因)。應該說,本書涵蓋了最重要的Java編程技術,使你能以此為基礎進而學習其他技術。本書的內容依然豐富,只要你真正理解所有章節的內容,並且完成練習,你將完全能夠勝任一名中級Java程式設計師的日常工作。

本書共三大主題,這些是一名專業級Java程式設計師必須熟練掌握的內容:

Java程式語言;

Java面向對象編程(OOP);

Java核心類庫。

要想把以上三大主題組織好一本高效的Java教材之所以困難,正是因為以下兩方面的原因。一方面,Java是一種面向對象編程(OOP)的語言,如果你已經了解OOP的話,就會知道它的語法是比較容易學的。另一方面,OOP特性(如繼承、多態以及數據封裝),用現實的案例進行示範也很容易。問題在於,理解真實的Java程式需要具備Java核心類庫的知識。

由於它們之間的相輔相成關係,這三大主題並沒有劃分成三個獨立的部分,而是討論某一主題的章節會與討論另一主題的章節相互交織在一起。例如,在解釋多態之前,我要先確保你了解某些Java類,之後才能講解真實的案例。此外,如泛型這樣的語言特性,如果你事先不理解某些類,是無法解釋清楚的,因此我就會在講完那些基礎類之後再討論泛型。

還有這樣的情況:某一個主題可能會在兩個甚至更多個地方出現。例如,for語句是一項基本的語言特性,它應該在較前面的章節中進行討論。但是,for還可以用來疊代一組對象,這種特性則又只能在講完“集合框架”之後再做討論。因此,for最早在第3章中出現,之後在第11章中再度出現。

接下來,我要在此首先高度概述一下Java,粗略介紹一下面向對象編程(OOP)的概念,並簡要地描述每一章的主要內容,以及講述如何安裝Java軟體。

Java語言和技術

Java不僅是一種面向對象的編輯語言,它還是使軟體開發變得更加快速並且獲得更健壯、更安全的應用程式的一系列技術。多年來,Java之所以會成為首選的編程技術,是因為它具有如下優勢。

平台獨立性

易用性

加速應用程式開發的完整類庫

安全性

可擴展性

廣泛的行業支持

Sun Microsystems公司於1995年開發出Java,隨後Java(儘管它從一開始就是一種通用的語言)成為編寫Applet(在Web瀏覽器上運行的小程式,為靜態的網站增添互動性)的著名語言。網際網路的快速發展有很大一部分要歸功於Java早期的成功。

然而,Applet並不是令Java魅力四射的唯一因素。Java最吸引人的另一個特性是它的平台獨立性承諾,也就是“一次編寫,到處運行”(Write Once, Run Anywhere)的口號。這意味著編寫一個程式就可以在Windows、UNIX、Mac、Linux及其他作業系統上運行。這是任何其他程式語言都無法實現的。當時,C和C++是開發常規應用程式時最常用的兩種語言。Java自誕生之日起,似乎就搶盡了它們的風頭。

這就是Java 1.0。

1997年,Java 1.1發布了,它增加了一些更加重要的特性,例如,更好的事件模型、Java Beans以及國際化(internationalization,i18n)。

1998年12月,Java 1.2發布了。在它發布3天之後,版本號由1變成了2,它標誌著於1999年開始掀起的一場以Java作為“下一代”技術的銷售戰役拉開了序幕。Java 2以4種風格出售:標準版(J2SE)、企業版(J2EE),移動版(J2ME),以及Java Card版本(從未在這個品牌名稱中採用“2”)。

接下來於2000年發布了1.3版,也就是J2SE 1.3。兩年之後發布1.4版,即J2SE 1.4。J2SE 1.5於2004年發布。但是Java 2 的1.5版隨後改成了Java 5。

2006年11月13日,即Java 6正式發布前的一個月,Sun Microsystems公司宣布Java變成開源了。Java SE 6是Sun Microsystems公司誠邀外部開發者貢獻代碼和幫助修復bug後的第一個Java版本。其實,Sun公司過去也曾接受過非本公司員工的參與,如Doug Lea在多執行緒方面的付出,但這是Sun公司第一次發出公開的邀請。Sun公司承認他們的資源有限,在不久的將來,外界的參與者將會幫助他們畫上完美的句號。

2007年5月,Sun公司把其Java原始碼作為免費軟體在OpenJDK社區發布。IBM、Oracle和Apple公司隨後也都紛紛加入了OpenJDK。

2010年,Oracle公司收購了Sun公司。

Java 7(代號Dolphin)於2011年7月發布,這也是通過OpenJDK進行開源合作的成果。

是什麼使Java平台能夠獨立

你一定聽說過“平台獨立”或者“跨平台”這類術語,它意味著程式可以在多種作業系統上運行。這也是使Java深得人心的一大原因。但是,到底是什麼使Java得以實現平台獨立呢?

在傳統的編程中,原始碼是要編譯成可執行代碼的。這種可執行代碼只能在所設計的平台上運行。換句話說,為Windows而編寫和編譯的代碼就只能在Windows上運行,在Linux中編寫的代碼就只能在Linux上運行,等等,如圖I.1所示......

相關詞條

熱門詞條

聯絡我們