內容簡介
本書可作為初學者學習Java編程技術的教程,也可供已掌握其他語言的程式設計師學習Java時參考。作者簡介
RogersCadenhead(卡登海德),是Web應用程式開發人員兼作者,著有22本與Internet相關的圖書,其中包括《SamsTeachYourselfJava2in24Hours》。他還是一個網站發布人,其網站每年的訪問人次超過2400萬。
LauraLemay(勒梅),是一名技術文檔寫作人。在矽谷為各種公司編寫6年的軟體文檔後,她發現著書有趣得多。在業餘時間裡,LauraLemay喜歡收集計算機、E-mail地址、有趣的發色和機車模型。她還編寫了另外兩本圖書:《SamsTeachYourselfWebPublishingwithHTML》和《SamsTeachYourselfPerlin21Days》。
編輯推薦
只需21天的時間,便可具備使用Java,發運行在計算機中的應用程式、運行在Web服,務器中的servlet,以及通過瀏覽器啟動的JavaWebStart應用程式的知識和技能。
無需任何編程經驗。按《21天學通java6》精心組織的21個課程進行學習,任何人都能掌握Java編程的基礎知識。
自我掌握進度。讀者可依次閱讀每章,以徹底理解所有的概念和方法論;也可有選擇地閱讀,學習自己最感興趣的技巧。
進行了全面的修訂、更新和擴充,以涵蓋最新的Java6功能。
學習開發獨立的Java應用程式、webservlet、JavaServerPage年JavaWebStart應用程式。
通過易於理解的實用示例,清晰地闡述Java編程的基本原理。
揭示如何使用Swin9快速開發圖形用戶界面程式。
檢測對知識的掌握程度。每章末尾都有問題、答案和練習,還有Java認證練習。
洞悉jdbC資料庫編程、Internet客戶/伺服器編程,以及使用開源類庫XOM分析XML。
闡述Java6新增的功能,女DJava6內置的關係資料庫JavaDB。
目錄
第1周課程 Java語言
第1章 Java基礎
1.1Java語言
1.1.1Java的歷史
1.1.2Java概述
1.1.3選擇一種開發工具
1.2面向對象編程
1.3對象和類
1.4屬性和行為
1.4.1對象的類屬性
1.4.2對象的類行為
1.4.3創建類
1.4.4運行程式
1.5組織類和類行為
1.5.1繼承
1.5.2創建類層次結構
1.5.3使用繼承
1.5.4單繼承和多重繼承
1.5.5接口
1.5.6包
1.6總結
1.7問與答
1.8小測驗
1.8.1問題
1.8.2認證練習
1.9練習
第2章 Java編程基礎
2.1語句和表達式
2.2變數和數據類型
2.2.1創建變數
2.2.2給變數命名
2.2.3變數類型
2.2.4給變數賦值
2.2.5常量
2.3注釋
2.4字面量
2.4.1數字字面量
2.4.2布爾字面量
2.4.3字元字面量
2.4.4字元串字面量
2.5表達式和運算符
2.5.1算術運算符
2.5.2再談賦值
2.5.3遞增和遞減運算符
2.5.4比較運算符
2.5.5邏輯運算符
2.5.6運算符優先權
2.6字元串運算
2.7總結
2.8問與答
2.9小測驗
2.9.1問題
2.9.2認證練習
2.10練習
第3章 對象
3.1創建新對象
3.1.1使用new
3.1.2new的功能
3.1.3記憶體管理
3.2訪問和設定類變數和實例變數
3.2.1獲取值
3.2.2修改值
3.2.3類變數
3.3調用方法
3.3.1嵌套方法調用
3.3.2類方法
3.4對象的引用
3.5對象和基本數據類型的轉換和強制類型轉換
3.5.1強制轉換基本類型
3.5.2強制轉換對象
3.5.3基本類型和對象之間的轉換
3.6比較對象值和類
3.6.1比較對象
3.6.2判斷對象所屬的類
3.7總結
3.8問與答
3.9小測驗
3.9.1問題
3.9.2認證練習
3.10練習
第4章 數組、邏輯和循環
4.1數組
4.1.1聲明數組變數
4.1.2創建數組對象
4.1.3訪問數組元素
4.1.4修改數組元素
4.1.5多維數組
4.2塊語句
4.3if條件語句
4.4switch條件語句
4.5for循環
4.6while和do循環
4.6.1while循環
4.6.2do...while循環
4.7跳出循環
4.7.1標號
4.7.2條件運算符
4.8總結
4.9問與答
4.10小測驗
4.10.1問題
4.10.2認證練習
4.11練習
第5章 創建類和方法
5.1定義類
5.2創建實例變數和類變數
5.2.1定義實例變數
5.2.2類變數
5.3創建方法
5.3.1定義方法
5.3.2關鍵字this
5.3.3變數作用域和方法定義
5.3.4將參數傳遞給方法
5.3.5類方法
5.4創建Java應用程式
5.5Java應用程式和命令行參數
5.5.1將參數傳遞給Java應用程式
5.5.2在Java程式中處理參數
5.6創建名稱相同但參數不同的方法
5.7構造方法
5.7.1基本的構造方法
5.7.2調用另一個構造方法
5.7.3重載構造方法
5.8覆蓋方法
5.8.1創建覆蓋現有方法的方法
5.8.2調用原來的方法
5.8.3覆蓋構造函式
5.9結束方法
5.10總結
5.11問與答
5.12小測驗
5.12.1問題
5.12.2認證練習
5.13練習
第6章 包、接口和其他類特性
6.1限定符
6.2靜態變數和方法
6.3Final類、方法和變數
6.3.1變數
6.3.2方法
6.3.3類
6.4抽象類和方法
6.5包
6.6使用包
6.6.1完整的包名和類名
6.6.2import聲明
6.6.3類名衝突
6.6.4Classpath和類的位置
6.7創建自己的包
6.7.1選擇包名
6.7.2創建資料夾結構
6.7.3將類加入到包中
6.7.4包和類訪問控制
6.8接口
6.8.1單繼承存在的問題
6.8.2接口和類
6.8.3實現和使用接口
6.8.4實現多個接口
6.8.5接口的其他用途
6.9創建和擴展接口
6.9.1新接口
6.9.2接口中的方法
6.9.3擴展接口
6.9.4創建網上商店
6.10內部類
6.11總結
6.12問與答
6.13小測驗
6.13.1問題
6.13.2認證練習
6.14練習
第7章 異常、斷言和執行緒
7.1異常
7.1.1異常類
7.2管理異常
7.2.1異常一致性檢測
7.2.2保護代碼和捕獲異常
7.2.3finally子句
7.3聲明可能引發異常的方法
7.3.1throws子句
7.3.2應引發哪些異常
7.3.3傳遞異常
7.3.4throws和繼承
7.4創建並引發自己的異常
7.4.1引發異常
7.4.2創建自己的異常
7.4.3組合使用throws、try和throw
7.5何時使用和不使用異常
7.5.1什麼時候使用異常
7.5.2什麼時候不使用異常
7.5.3糟糕的異常使用方式
7.6斷言
7.7執行緒
7.7.1編寫執行緒化程式
7.7.2執行緒化應用程式
7.7.3終止線程
7.8總結
7.9問與答
7.10小測驗
7.10.1問題
7.10.2認證練習
7.11練習
第2周課程 Java類庫
第8章 數據結構
8.1超越數組
8.2Java數據結構
8.2.1Iterator
8.2.2位組
8.2.3Vector
8.2.4遍歷數據結構
8.2.5堆疊
8.2.6Map
8.2.7散列表
8.3泛型
8.4總結
8.5問與答
8.6小測驗
8.6.1問題
8.6.2認證練習
8.7練習
第9章 使用Swing
9.1創建應用程式
9.1.1創建界面
9.1.2開發框架
9.1.3顯示啟動畫面
9.1.4創建組件
9.1.5將組件加入到容器中
9.2使用組件
9.2.1圖示
9.2.2標籤
9.2.3文本框
9.2.4文本區域
9.2.5可滾動窗格
9.2.6複選框和單選按鈕
9.2.7組合框
9.2.8列表
9.3總結
9.4問與答
9.5小測驗
9.5.1問題
9.5.2認證練習
9.6練習
第10章 創建Swing界面
10.1Swing的特性
10.1.1設定外觀
10.1.2標準對話框
10.1.3使用對話框
10.1.4滑塊
10.1.5滾動窗格
10.1.6工具列
10.1.7進度條
10.1.8選單
10.1.9選項卡窗格
10.2總結
10.3問與答
10.4小測驗
10.4.1問題
10.4.2認證練習
10.5練習
第11章 在用戶界面上排列組件
11.1基本的界面布局
11.1.1布置界面
11.1.2順序布局
11.1.3方框布局
11.1.4格線布局
11.1.5框線布局
11.2使用多個布局管理器
11.3卡片布局
11.4格線袋布局
11.4.1設計格線
11.4.2創建格線
11.4.3單元格padding和insets
11.5總結
11.6問與答
11.7小測驗
11.7.1問題
11.7.2認證練習
11.8練習
第12章 回響用戶輸入
12.1事件監聽器
12.1.1設定組件
12.1.2事件處理方法
12.2使用方法
12.2.1行為事件
12.2.2焦點事件
12.2.3選項事件
12.2.4鍵盤事件
12.2.5滑鼠事件
12.2.6滑鼠移動事件
12.2.7視窗事件
12.2.8使用適配器類
12.3總結
12.4問與答
12.5小測驗
12.5.l問題
12.5.2認證練習
12.6練習
第13章使用顏色、字型和圖形
13.1Graphics2D類
13.1.1圖形坐標系
13.1.2繪製文本
13.1.3通過反走樣改善字型和圖形的質量
13.1.4獲取字型的信息
13.2顏色
13.2.1使用Color對象
13.2.2檢測和設定當前顏色
13.3繪製直線和多邊形
13.3.1用戶和設備坐標空間
13.3.2指定渲染屬性
13.3.3創建要繪製的對象
13.3.4繪製對象
13.4總結
13.5問與答
13.6小測驗
13.6.1問題
13.6.2認證練習
13.7練習
第14章 開發Swing應用程式
14.1JavaWebStart
14.2使用JavaWebStart
14.2.1創建JNLP檔案
14.2.2在伺服器上支持WebStart
14.2.3其他JNLP元素
14.3使用SwingWorker改善性能
14.4總結
14.5問與答
14.6小測驗
14.6.1問題
14.6.2認證練習
14.7練習
第3周課程Java編程
第15章 輸入和輸出
15.1流
15.1.1使用流
15.1.2過濾流
15.1.3處理異常
15.2位元組流
15.3過濾流
15.4字元流
15.4.1讀取文本檔案
15.4.2寫文本檔案
15.5檔案和檔案名稱過濾器
15.6總結
15.7問與答
15.8小測驗
15.8.1問題
15.8.2認證練習
15.9練習
第16章 序列化和查看對象
16.1對象序列化
16.1.1對象輸出流
16.1.2對象輸入流
16.1.3暫態變數
16.1.4檢查對象的序列化欄位
16.2使用反射來檢查類和方法
16.2.1檢查和創建類
16.2.2處理類的各個部分
16.2.3檢查類
16.3總結
16.4問與答
16.5小測驗
16.5.1問題
16.5.2認證練習
16.6練習
第17章 通過Internet進行通信
17.1JAVA的聯網技術
17.1.1打開跨越網路的流
17.1.2套接字
17.1.3Socket伺服器
17.1.4設計伺服器應用程式
17.1.5測試伺服器
17.2java.nio包
17.2.1緩衝區
17.2.2字元集
17.2.3通道
17.2.4網路通道
17.3總結
17.4問與答
17.5小測驗
17.5.1問題
17.5.2認證練習
17.6練習
第18章 使用JDBC訪問資料庫
18.1JDBC
18.2JDBC-ODBC橋
18.2.1連線到ODBC數據源
18.2.2JDBC驅動程式
18.3總結
18.4問與答
18.5小測驗
18.5.1問題
18.5.2認證練習
18.6練習
第19章 讀寫RSSFeed
19.1使用XML
19.2設計XML語言
19.3使用Java處理XML
19.4使用XOM處理XML
19.4.1創建XML文檔
19.4.2修改MXL文檔
19.4.3格式化XML文檔
19.4.4評估XOM
19.5總結
19.6問與答
19.7小測驗
19.7.1問題
19.7.2認證練習
19.8練習
第20章 XMLWeb服務
20.1XML-RPC簡介
20.2使用XML-RPC進行通信
20.2.1傳送請求
20.2.2回響請求
20.3選擇XML-RPC實現
20.4使用XML-RPCWeb服務
20.5創建XML-RPCWeb服務
20.6總結
20.7問與答
20.8小測驗
20.8.1問題
20.8.2認證練習
20.9練習
第21章 編寫JayaServlet和JavaServerPage
21.1使用WebServlet
21.2開發Servlet
21.2.1使用cookie
21.2.2使用會話
21.3JSP
21.3.1編寫JSP
21.3.2創建Web應用程式
21.4JSP標準標記庫
21.5總結
21.6問與答
21.7小測驗
21.7.1問題
21.7.2認證練習
21.8練習
附錄
附錄A 使用Java開發包
A.1選擇Java開發工具
A.2配置JDK
A.2.1使用命令行界面
A.2.2切換資料夾
A.2.3在MS-DOS中創建資料夾
A.2.4在MS-DOS中運行程式
A.2.5修復配置錯誤
A.3使用文本編輯器
A.4創建程式
A.4.1在Windows中編譯和運行程式
A.4.2設定CLASSPATH變數
附錄B 使用Java開發包編程
B.1JDK概覽
B.2Java解釋器
B.3編譯器Javac
B.4瀏覽器appletviewer
B.5文檔工具Javadoc
B.6Java檔案存檔工具Jar
B.7調試器Jdb
B.7.1調試應用程式
B.7.2調試小程式
B.7.3高級調試命令
B.8使用系統屬性
書摘
序言
有些技術革命出其不意地吸引了全世界的眼球。全球資訊網、Linux作業系統和社會網路的異軍突起顛覆了傳統的思維模式。
而Java語言的巨大成功卻在人們的意料之中。自從Java語言於10年前面世以來,人們就對它充滿殷切的期望。當Sun公司以融入到Web瀏覽器中的方式推出Java時,公眾以無比的熱情歡迎這種新語言的到來。
文摘
第1周課程 Java語言
第1章 Java基礎
1.3 對象和類
面向對象編程是基於現實世界的情況進行建模的,對象由多種更小的對象構成。
然而。合併對象僅僅是面向對象編程的一個方面,其另一個重要特徵是使用類。
類(class)用來創建對象的模板。使用同一個類創建出來的每個對象都具有就算不是完壘相同也相似的特性。
類包含一組特定對象的所有特性。使用面向對象語言編寫程式時,並不定義各個對象,而是定義用於創建這些對象的類。
倒如,您可能創建Modem類。它描述了所有計算機數據機的特徵,其中一些常見的特徵有:
連線到計算的申行連線埠。
傳送和接收信息,
拔叫電話號碼。
Modem類是數據機的抽象概念模型。要在程式中有能蟮實際操縱的具體東西,必須用Modem糞來創建Modem對象。使用類創建對象的過程叫做實例化(iasmatiation),這就是對象也檻稱作實例的原因所在。