編輯推薦
第八屆全國高校出版社優秀暢銷書二等獎 本書2009年8月已出第2版,本書是重慶大學教材建設基金重點資助的教材建設項目,目的是為計算機套用、網路工程、軟體工程、信息安全、電子商務等計算機相關專業編寫一本介紹Java程式設計語言的高水平教材,全方位地介紹Java網路編程及其最新技術。
內容簡介
本書內容共分為3部分。第1部分講解Java程式設計的基礎知識,包括Java的簡單數據及程式流程控制、面向對象設計思想、類、對象、接口、異常處理以及標準類庫等內容;第2部分講解Java程式設計的一般知識,包括GUl編程、輸入輸出設計、資料庫訪問以及多執行緒編程等內容;第3部分講解Java網路程式設計的高級知識,包括Java安全、JavaBean組件、套接字編程、Java網路編程(涉及Servlet/JSP技術)以及Java EE和Java ME等內容。在本書的第2版中,圖形編程和Web編程(JavaEE流行框架)部分得到了補充和完善。
本書重點放在Java程式設計語言基礎以及Java網路編程技術上,同時力求重點突出,覆蓋面廣。各章均提供了豐富的實例和練習,並將在網上提供相應內容的多媒體課件(PPT格式)。全書由淺入深、實例生動、易學易用,可以滿足不同層次讀者的需求。本書可作為普通高等院校套用型本科(含部分高職高專)相關專業的程式設計教材,也可作為軟體開發人員的參考書。
圖書目錄
第1章Java語言概述
1.1Java語言的產生及其特點
1.1.1Java語言發展簡史
1.1.2Java虛擬機
1.1.3Java平台是不斷擴展的計算平台
1.1.4Java語言的特點
1.1.5Java與C/C++語言的異同
1.2Java運行環境與開發環境
1.2.1Java運行環境
1.2.2Java SDK開發環境
1.2.3JDK開發環境工具簡單介紹
1.3Java程式舉例
1.3.1簡單的Java應用程式
1.3.2簡單的Java小程式
1.3.3Servlet
1.4其他集成開發和運行環境
習題與思考
第2章數據類型及其運算
2.1標識符和關鍵字
2.1.1標識符
2.1.2關鍵字
2.1.3注釋
2.2常量和變數
2.2.1變數
2.2.2常量
2.3基本數據類型
2.3.1布爾類型
2.3.2字元類型
2.3.3整數類型
2.3.4浮點類型
2.3.5各類型數據間的相互轉換
2.4運算符
2.4.1算數運算符
2.4.2賦值運算符
2.4.3條件運算符
2.4.4位運算符
2.4.5關係運算符
2.4.6邏輯運算符
2.5表達式
2.6數組
2.6.1一維數組
2.6.2二維數組
2.7字元串
習題與思考
第3章程式控制語句
3.1選擇語句
3.1.1if語句
3.1.2switch語句
3.2循環語句
3.2.1while語句
3.2.2do?while循環
3.2.3for循環
3.3跳轉語句
3.3.1使用break語句
3.3.2使用continue語句
3.3.3使用return語句
習題與思考
第4章Java面向對象程式設計基礎
4.1面向對象的基本概念
4.1.1面向對象編程的概念
4.1.2客觀事物的抽象
4.2類的定義
4.2.1類聲明
4.2.2類體
4.2.3實例化對象
4.2.4構造方法說明
4.2.5對象的清除
4.2.6方法重載
4.3類和對象的使用
4.3.1實例變數和類變數
4.3.2實例方法和類方法
4.4包(package)
4.4.1package語句
4.4.2import語句
4.4.3編譯和運行包
4.5成員變數及方法的訪問許可權
4.5.1公共類型(public)
4.5.2保護類型(protected)
4.5.3私有類型(private)
4.6final、this及其他
4.6.1final關鍵字
4.6.2this引用
4.6.3super關鍵字
4.6.4null關鍵字
4.6.5java.lang.Object類介紹
4.6.6遞歸方法
4.6.7命令行參數的輸入
4.6.8JAR檔案的使用
習題與思考
第5章面向對象高級程式設計
5.1繼承
5.1.1創建子類
5.1.2成員變數的隱藏和方法的重寫
5.1.3super關鍵字
5.1.4對象的上轉型對象
5.2多態性
5.3抽象類和抽象方法
5.4接口
5.4.1接口聲明
5.4.2使用接口的優點
5.5內部類和匿名類
5.5.1內部類的定義
5.5.2內部類特性
5.5.3匿名類
習題與思考
第6章字元串處理
6.1String類
6.1.1字元串的構造方法
6.1.2String類的常用方法
6.2StringBuffer類
6.2.1StringBuffer類的構造方法
6.2.2StringBuffer類的常用方法
6.3StringTokenizer類的套用
6.3.1StringTokenizer類的構造方法
6.3.2StringTokenizer類的常用方法
6.4字元串與其他數據類型的轉換
6.4.1將其他數據轉換為字元串
6.4.2將字元串轉化成其他數據
習題與思考
第7章Java標準類庫
7.1簡單類型包裝器類
7.1.1Number
7.1.2Double和Float
7.1.3Byte、Short、Integer 和 Long
7.1.4數字和字元串的轉換
7.1.5Character
7.1.6Boolean
7.2System
7.2.1記錄程式執行的時間
7.2.2複製數組
7.2.3訪問JVM環境屬性
7.3Runtime
7.3.1記憶體管理
7.3.2執行其他的程式
7.4Math
7.5日期時間實用工具類
7.5.1Date(日期)
7.5.2Calendar(日曆)
7.6Java集合框架
7.6.1集合接口
7.6.2實現List接口的類
7.6.3實現Set接口的類
7.6.4通過疊代接口訪問類集
7.6.5Generics(泛化)
7.6.6映射接口(Map)
7.6.7實現Map接口的類
7.6.8比較器(Comparator)
7.6.9類集算法
7.6.10Arrays
習題與思考
第8章Java異常處理
8.1什麼是異常
8.2異常處理機制
8.2.1Java的異常處理機制
8.2.2異常類的類層次
8.2.3Throwable類的常用方法
8.3異常的處理
8.3.1捕獲異常try?catch?finally
8.3.2聲明拋棄異常
8.3.3拋出異常
8.4創建用戶異常類
習題與思考
第9章輸入輸出處理
9.1I/O流的概念和劃分
9.1.1理解數據流
9.1.2Java流的劃分
9.2檔案的操作
9.2.1File類
9.2.2目錄
9.3位元組流處理
9.3.1InputStream/OutputStream
9.3.2標準輸入輸出流
9.3.3檔案位元組流
9.3.4過濾流
9.3.5隨機存取檔案
9.3.6其他位元組流
9.4字元流處理
9.4.1Reader/Writer
9.4.2檔案字元流
9.4.3位元組流向字元流的轉化
9.4.4其他字元流
9.5串列化
9.5.1串列化的概念
9.5.2串列化的方法
9.5.3定製串列化
習題與思考
第10章執行緒
10.1執行緒的概念
10.2執行緒的創建
10.2.1採用繼承創建執行緒
10.2.2通過實現接口創建執行緒
10.3執行緒的生命周期及調度
10.3.1執行緒生命周期
10.3.2執行緒調度和優先權
10.4執行緒互斥
10.4.1問題的提出
10.4.2互斥對象
10.5執行緒同步
10.6執行緒通信
10.7執行緒死鎖
習題與思考
第11章GUI程式設計
11.1AWT組件簡介
11.1.1Frame框架類
11.1.2Panel面板類
11.2布局管理器
11.2.1FlowLayout
11.2.2BorderLayout
11.2.3GridLayout
11.2.4CardLayout
11.2.5GridBagLayout
11.2.6無布局管理器
11.2.7容器的嵌套
11.3AWT事件處理
11.3.1事件處理模型
11.3.2AWT事件
11.3.3事件監聽器
11.3.4事件適配器
11.3.5內部類和匿名類在事件處理中的套用
11.4常用AWT組件使用舉例
11.4.1基本組件
11.4.2選單
11.5AWT圖形和Java2D圖形介紹
11.6Swing簡介
習題與思考
第12章Java Applet
12.1Java Applet設計基礎
12.1.1載入Java Applet
12.1.2Java Applet的安全性限制
12.1.3Java Applet的生命周期
12.2java.applet包
12.2.1Applet類的繼承關係
12.2.2Applet類的方法
12.2.3HTML和Java Applet
12.2.4appletviewer
12.2.5Java Applet的顯示
12.3Java Applet中的多媒體套用
12.3.1URL
12.3.2載入圖像
12.3.3播放聲音
12.4Java Applet中的滑鼠和鍵盤事件
12.4.1滑鼠事件
12.4.2鍵盤回響
12.5Java Applet編程實例
習題與思考
第13章JDBC
13.1JDBC的結構
13.1.1JDBC資料庫套用模型
13.1.2JDBC驅動程式
13.2通過JDBC訪問資料庫
13.2.1基本流程
13.2.2常用的JDBC API
13.2.3事務
13.3資料庫存取最佳化
13.3.1prepared語句
13.3.2存儲過程
13.4JDBC編程實例
13.4.1ODBC配置
13.4.2JDBC編程實例
13.4.3Java數據類型和SQL數據類型間的關係
習題與思考
第14章JavaBean組件模型
14.1軟體組件模型
14.2JavaBean概述
14.3JavaBean的特性
14.4JavaBean的屬性
14.4.1簡單屬性
14.4.2索引屬性
14.4.3綁定屬性
14.4.4限制屬性
14.5API支持
14.6JavaBean的事件處理
14.6.1授權事件模型
14.6.2為Bean添加自定義事件
14.7開發一個JavaBean並打包
習題與思考
第15章網路通信
15.1網路通信簡介
15.2URL通信
15.2.1URL簡介
15.2.2URL類
15.2.3通過位元組流訪問全球資訊網資源
15.2.4通過URLConnection實現雙向通信
15.3Socket通信
15.3.1伺服器程式
15.3.2客戶端程式
15.3.3服務多個客戶端
15.3.4數據報通信
15.4遠程方法調用(RMI)
習題與思考
第16章Java安全技術
16.1安全基本知識
16.1.1計算機安全基礎
16.1.2密碼學
16.2Java的安全模型
16.2.1安全模型的演化
16.2.2Java 2 安全模型
16.2.3Java 2的安全管理器
16.2.4Java Applet安全性
16.2.5J2SDK安全工具
16.2.6Java Applet的安全部署
習題與思考
第17章Web伺服器端編程
17.1Java Web伺服器介紹
17.2Servlet介紹
17.2.1Servlet的概念
17.2.2Servlet套用範圍和運行環境
17.2.3Servlet簡單例子
17.2.4Servlet常用類、接口和生命周期
17.2.5Servlet套用舉例
17.3JSP介紹
17.3.1JSP的概念
17.3.2JSP的運行方式
17.3.3JSP指令介紹
17.3.4JSP中的隱藏對象
17.3.5JSP套用實例
17.3.6JSP和Servlet在實際工程中的套用
17.4Struts介紹
習題與思考
第18章J2EE規範和EJB
18.1J2EE規範
18.1.1J2EE的基本概念
18.1.2J2EE框架
18.1.3J2EE的核心技術
18.2EJB(企業Java組件模型)
18.2.1EJB容器
18.2.2遠程和本地接口
18.2.3實體Bean
18.2.4會話Bean
18.2.5部署EJB
習題與思考
第19章J2ME
19.1J2ME概述
19.2J2ME技術架構
19.2.1Configuration
19.2.2Profile
19.2.3Optional Packages
19.2.4J2ME工業標準——JTWI
19.2.5JINI技術
19.2.6Personal Java
19.3MIDP應用程式開發
19.3.1新建並運行MIDP程式
19.3.2綜合實例
習題與思考
附錄上機實驗
參考文獻
編寫背景
Java誕生已有10年。在這短短的10年間,Java已經發展成Internet時代最偉大的計算機語言,它具有跨平台、純粹的面向對象、適合於單機和網路編程等諸多優點。在桌面系統(如J2SE)、企業分散式計算(如J2EE)以及嵌入式設備(如J2ME)的開發和套用上,Java語言都提供了簡單且卓有成效的解決方案。Java語言的使用是免費的,全世界許多計算機專家、機構、公司、大學等都在為Java的發展在自己的領域出謀劃策,而這一切都源自於Sun公司天才的構想和富有激情的創造。如今眾多的學子和計算機高手逐漸被Java的魅力所感染,成為Java技術最狂熱的追星族。
國內許多高校在1999年左右開始開設Java類課程。在美國和其他已開發國家,Java語言課程更加普及,甚至連文科的專業內也在開設。由於Java技術的發展日新月異,舊的教材已經不能滿足教學的要求。尤其在今天,網路技術日趨成熟,J2EE、J2ME大行其道,許多新技術層出不窮。J2SE 5.0新版本、新特性的推出方便了程式的編寫,這些都使我們感到必須編寫一本高水平的、內容新穎全面的教材,來指導學生的學習。
本書重點放在了兩個方面,一方面是Java面向對象基礎編程。萬丈高樓從地起,再好的房子也得從基礎開始,所以本書在數據類型、程式流程控制、面向對象概念、類、繼承、接口、字元串、異常以及Java最基礎的類庫等方面都進行了詳細的論述。同時,在本書中介紹了執行緒、輸入輸出技術、圖形界面編程、JDBC資料庫技術等內容。另一方面是網路編程,包括Applet、網路通信技術、Java安全技術、Servlet和JSP技術、J2EE以及J2ME等技術。Java技術框架目前發展得非常龐大,讀者應該對其主要的技術進行了解,以便於今後的進一步學習。其實Java任何一個方面的內容都是非常豐富和精深的,可以很好地解決實際問題,這正是Java的魅力所在。
學習導讀
本書內容共分三大部分。
第1~8章為第1部分,介紹Java程式設計的基礎知識。其中第1章介紹Java語言基礎,如Java產生的歷史、發展、簡單的輸入輸出、JDK開發環境和其他一些集成開發環境。第2章詳細介紹簡單數據類型、運算符、數組等內容。第3章詳細介紹程式流程控制。第4章詳細介紹Java面向對象的特點,如抽象、多態、封裝等,對對象、類進行了詳細的介紹。第5章詳細介紹了繼承、接口、內部類等內容。第6章詳細介紹與字元串處理相關的類的使用及字元串和其他數據之間的轉換。第7章詳細介紹java.lang和java.util包中所定義的類和接口,尤其是Java的集合框架。第8章詳細介紹Java異常處理機制。
第9~13章為本書第2部分,介紹Java程式設計的一般知識。其中第9章詳細介紹Java的輸入輸出機制。第10章詳細介紹Java的執行緒處理機制。第11章介紹Java圖形用戶界面設計、事件處理機制。第12章介紹Applet的生命周期、主要方法以及Applet的簡單套用。第13章的內容是資料庫編程,介紹JDBC訪問資料庫的流程、相關的類及接口。學習這一章需要具有一定的資料庫基礎知識。
第14~19章為第3部分,介紹Java網路編程的高級知識。其中第14章主要介紹JavaBeans組件模型,軟體開發者可以利用JavaBeans設計出可重用的軟體組件。第15章主要介紹網路編程技術,包括URL通信、Socket通信、數據報以及RMI等內容。第16章主要介紹了Java安全技術,包括計算機安全、Java安全模型、密碼學、應用程式的安全和Applet的安全。第17章主要介紹Web伺服器容器、Servlet技術、JSP技術,並簡要介紹Struts框架。第18章主要介紹J2EE概念、EJB模型。第19章主要介紹J2ME的概念、J2ME技術框架以及MIDP應用程式開發實例。
圖書特點
本書內容新穎,很多章節都涉及到Java最新特性。同時力求重點突出,層次清晰,語言通俗易懂,內容覆蓋面廣。本書各章均提供了豐富的實例和練習,同時提供相應的多媒體課件(PPT格式)。本書可作為高等院校套用型本科(含部分專科、高職類)各相關專業(如計算機、電子信息、通信、信息安全等)的程式設計課教材,也適合於編程開發人員培訓、廣大計算機技術愛好者自學使用。
根據我們的教學體會,本書的教學可以安排為40~68學時。如果安排的學時數較少,可以根據學生的水平適當刪減第3部分的部分內容。關於更詳細的教學安排,請讀者查看重慶大學計算機學院的精品課課程網站
本書的所有實例全部經過上機調試。由於本書篇幅所限,第18章“J2EE規範及EJB”未給出在套用伺服器上測試過的完整實例,將在網站上提供。特此說明。
在清華大學出版社的網站上提供了本書的所有例題原始碼以及多媒體課件。讀者也可以到重慶大學計算機學院的Java精品課程網站上查看相關內容。如果選用本書作為教材,讀者可以訪問該網站上關於Java程式設計教學的其他豐富內容,例如教學大綱、教學日曆、實驗項目、課程設計、線上考試、案例庫、參考文獻、精彩文章等內容,均是圍繞本教材展開的。