出版時(shí)間:2008-7 出版社:人民郵電出版社 作者:(英)溫德爾(Winder,R.),(英)羅伯茨(Roberts,G.) 著,黃湘情,曹永存 譯
Tag標(biāo)簽:無
內(nèi)容概要
本書是專門為Java軟件開發(fā)課程編寫的教材,旨在幫助讀者學(xué)習(xí)Java程序設(shè)計(jì)和軟件開發(fā)。 全書分為5個(gè)部分。第1部分(第1~10章)闡述了面向?qū)ο蟮腏ava語言和面向?qū)ο箝_發(fā)過程的基本概念和主要思想;第2部分(第11~14章)是有關(guān)程序設(shè)計(jì)的過程,介紹測試驅(qū)動(dòng)開發(fā)的原理、過程、工具和技術(shù),并說明是如何進(jìn)行編程的;第3部分(第15~17章)給出了一些可以用于自學(xué)的案例,包括一些用來組織討論會(huì)、擴(kuò)展程序開發(fā)的項(xiàng)目基礎(chǔ)內(nèi)容。第4部分(第18~24章)是Java語言的自學(xué)指南和參考。附錄部分提供了有關(guān)Java編程的一些有用參考資料。 本書適合作為高等院校計(jì)算機(jī)專業(yè)Java語言課程教材,也可以供Java語言自學(xué)者閱讀使用。
書籍目錄
第1部分 對象和類的編程 第1章 簡介 1.1 引言 1.2 Java簡史 1.3 Java生逢其時(shí) 1.4 Java是什么 1.5 抽象:編程的重要核心 1.6 Java 2平臺 1.7 Java的體系結(jié)構(gòu)是平臺無關(guān)的 1.8 Java不是玩笑 1.9 小結(jié) 第2章 程序設(shè)計(jì)基礎(chǔ) 2.1 引言 2.2 抽象和概要 2.3 語句的順序 2.4 迭代 2.4.1 Java的while語句和復(fù)合語句 2.4.2 Java的do語句 2.5 選擇語句 2.5.1 Java的if語句 2.5.2 Java的break語句 2.6 變量 2.6.1 變量的命名 2.6.2 賦值 2.6.3 變量的類型 2.6.4 初始化變量 2.6.5 常數(shù)變量(命名常量) 2.6.6 變量和類型檢查 2.6.7 變量的比較 2.7 編寫一個(gè)簡單的Java程序(程序1) 2.8 使用注釋 2.9 輸出語句 2.10 輸入語句 2.11 交互式程序 2.11.1 程序2——基本的輸入輸出 2.11.2 程序3——使用字符串 2.11.3 程序4——使用表達(dá)式 2.12 小結(jié) 2.13 復(fù)習(xí)題 2.14 練習(xí)題 2.15 挑戰(zhàn)題 第3章 向程序中增加結(jié)構(gòu) 3.1 引言 3.2 抽象和封裝 3.3 方法 3.3.1 從方法返回值 3.3.2 void方法和類型 3.3.3 方法的參數(shù) 3.3.4 多個(gè)方法參數(shù) 3.3.5 遞歸 3.4 如何在程序中使用方法 3.4.1 例程:乘法表程序 3.4.2 例程:回文程序 3.5 過程分解 3.6 封裝 3.6.1 作用域與生存期 3.6.2 命名與作用域 3.7 更多的運(yùn)算符 3.7.1 遞增、遞減和賦值運(yùn)算符 3.7.2 算術(shù)表達(dá)式和類型 3.7.3 條件運(yùn)算符 3.8 更多的控制語句 3.8.1 for循環(huán)語句 3.8.2 switch語句 3.9 更多的實(shí)例程序 3.9.1 例程:字符三角形(CharacterTriangle)程序 3.9.2 例程:字符矩形(CharacterRectangle)程序 3.9.3 例程:二進(jìn)制轉(zhuǎn)十進(jìn)制(ConverBinaryToDecimal)程序 3.10 小結(jié) 3.11 復(fù)習(xí)題 3.12 練習(xí)題 3.13 挑戰(zhàn)題 第4章 容器類介紹 4.1 引言 4.2 數(shù)組 4.2.1 聲明數(shù)組 4.2.2 數(shù)組索引 4.2.3 Foreach循環(huán) 4.2.4 數(shù)組用作方法參數(shù) 4.2.5 數(shù)組用作返回值 4.2.6 求平均數(shù)(Mean)程序 4.2.7 Array類 4.2.8 多維數(shù)組 4.2.9 數(shù)組初始化表達(dá)式 4.2.10 AddUpColumns程序 4.2.11 main方法的參數(shù) 4.2.12 字符數(shù)組和字符串 4.3 容器(Container)類 4.3.1 ArrayList類 4.3.2 容器類和基本類型 4.3.3 Foreach循環(huán) 4.3.4 修改Mean程序 4.4 數(shù)據(jù)文件 4.4.1 文本數(shù)據(jù) 4.4.2 用FileInput類讀取數(shù)據(jù) 4.4.3 用FileOutput類寫數(shù)據(jù) 4.4.4 DisplayTextFile程序 4.4.5 Copy程序 4.4.6 WordCount程序 4.5 小結(jié) 4.6 復(fù)習(xí)題 4.7 練習(xí)題 4.8 挑戰(zhàn)題 第5章 畫圖 5.1 引言 5.2 繪圖 5.2.1 畫一條線段 5.2.2 畫矩形、正方形、橢圓和圓 5.2.3 其他的標(biāo)準(zhǔn)圖形 5.2.4 創(chuàng)建新的圖形 5.3 繪圖的屬性 5.3.1 顏色 5.3.2 線寬 5.3.3 圖形的填充 5.4 繪制文本 5.5 程序例程 5.5.1 例程:棋盤程序 5.5.2 例程:螺旋線程序 5.5.3 例程:圖形程序 5.6 小結(jié) 5.7 復(fù)習(xí)題 5.8 練習(xí)題 5.9 挑戰(zhàn)題 第6章 類和對象 6.1 引言 6.2 創(chuàng)建新的數(shù)據(jù)類型 6.2.1 棧對象 6.2.2 Stack類 6.3 通用類 6.4 方法的命名和作用域 6.5 對象初始化 6.5.1 實(shí)例變量的直接初始化 6.5.2 構(gòu)造函數(shù)(Constructor) 6.5.3 實(shí)例初始化塊 6.5.4 多種方法如何選擇 6.6 對象和引用 6.6.1 刪除舊的對象 6.6.2 對象、引用和基本類型 6.6.3 對象與方法參數(shù) 6.6.4 復(fù)制對象 6.6.5 相等性和對象 6.6.6 null 6.6.7 this操作符 6.7 靜態(tài)變量和靜態(tài)方法 6.8 類的幾個(gè)例子 6.8.1 例程:Name類 6.8.2 例程:Matrix類 6.8.3 例程:Graph類 6.9 用類和對象進(jìn)行程序設(shè)計(jì) 6.9.1 對象用來提供服務(wù) 6.9.2 類與封裝 6.10 枚舉類型 6.11 示例——?jiǎng)?chuàng)建橋牌 6.12 小結(jié) 6.13 復(fù)習(xí)題 6.14 練習(xí)題 6.15 挑戰(zhàn)題 第7章 類關(guān)系詳述 7.1 引言 7.2 關(guān)聯(lián) 7.2.1 對象所有權(quán)(OwnerShip) 7.2.2 有效地使用關(guān)聯(lián) 7.3 繼承 7.3.1 使用繼承 7.3.2 protected 7.3.3 繼承和構(gòu)造函數(shù) 7.3.4 超類 7.3.5 QueueT與DequeueT的實(shí)現(xiàn)示例 7.3.6 靜態(tài)變量和繼承 7.3.7 隱藏名稱 7.3.8 方法覆蓋和動(dòng)態(tài)綁定 7.4 關(guān)聯(lián)與繼承之間的抉擇 7.5 繼承的層次體系 7.5.1 Object類 7.5.2 抽象類 7.6 接口和類型一致性 7.6.1 可替換性、類型和一致性 7.6.2 接口及其實(shí)現(xiàn) 7.7 比較對象的相等性 7.7.1 Class類和Instanceof運(yùn)算符 7.7.2 一個(gè)慣例 7.8 嵌套(Nested)類 7.9 包(package) 7.10 例程:再次研究Matrix類 7.11 可復(fù)用性與組件 7.12 小結(jié) 7.13 復(fù)習(xí)題 7.14 練習(xí)題 7.15 挑戰(zhàn)題 第8章 異?! ?.1 問題是什么 8.2 錯(cuò)誤的種類 8.3 表示異?! ?.4 拋出異?! ?.5 捕獲異常 8.6 finally塊 8.7 使用異常的重要性 8.8 例子 8.8.1 帶異常的ConvertBinaryToDecimal程序 8.8.2 以更復(fù)雜方式編寫的Copy程序 8.8.3 重寫WordCount程序 8.8.4 帶異常處理的Stack類型 8.9 小結(jié) 8.10 復(fù)習(xí)題 8.11 練習(xí)題 第9章 使用線程的并發(fā) 9.1 一次做多件事情 9.2 線程 9.3 使用線程 9.4 線程同步 9.5 線程調(diào)度 9.6 示例程序 9.6.1 文本時(shí)鐘 9.6.2 共享隊(duì)列 9.6.3 網(wǎng)絡(luò)應(yīng)用程序 9.7 小結(jié) 9.8 復(fù)習(xí)題 9.9 練習(xí)題 第10章 用戶界面 10.1 引言 10.1.1 可視化組件 10.1.2 事件和事件驅(qū)動(dòng)系統(tǒng) 10.1.3 AWT和Swing 10.2 核心的GUI概念 10.2.1 例程:HelloGoodbye程序 10.2.2 創(chuàng)建窗口 10.2.3 創(chuàng)建Swing GUI組件 10.2.4 容器和布局管理器 10.2.5 布局管理器優(yōu)點(diǎn) 10.2.6 不同的布局管理器 10.2.7 窗口顯示 10.2.8 處理事件 10.2.9 運(yùn)行和終止HelloGoodbye程序 10.2.10 HelloGoodbye程序的總結(jié) 10.3 使用GUI作為文本輸入 10.4 實(shí)例:一個(gè)非常簡單的文本編輯器 10.5 菜單 10.6 繪圖 10.7 小結(jié) 10.8 復(fù)習(xí)題 10.9 練習(xí)題 10.10 挑戰(zhàn)題 第2部分 程序設(shè)計(jì)過程 第11章 程序設(shè)計(jì)過程 11.1 引言 11.1.1 面向?qū)ο蟮能浖こ獭 ?1.1.2 敏捷方法 11.1.3 設(shè)計(jì)文檔 11.2 為什么要用面向?qū)ο蠓椒ā ?1.2.1 一個(gè)比喻—路線計(jì)劃 11.2.2 問題域 11.2.3 封裝 11.3 開始任務(wù) 11.3.1 概覽 11.3.2 初始問題陳述 11.3.3 使用故事收集用戶需求 11.3.4 功能需求和用例 11.3.5 分析 11.3.6 設(shè)計(jì)、實(shí)現(xiàn)和測試 11.3.7 交付、部署和維護(hù) 11.3.8 復(fù)審和迭代 11.4 測試策略 11.4.1 單元測試和功能測試 11.4.2 驗(yàn)收測試 11.4.3 調(diào)試 11.5 UML類、對象和序列圖 11.5.1 類圖 11.5.2 包 11.5.3 對象圖 11.5.4 序列圖 11.5.5 臨時(shí)表示法 11.6 實(shí)踐和經(jīng)驗(yàn) 11.7 小結(jié) 11.8 復(fù)習(xí)題 11.9 練習(xí)題 11.10 挑戰(zhàn)題 第12章 單元測試 12.1 引言 12.1.1 測試是什么 12.1.2 到底為什么要測試呢 12.2 單元測試—第一個(gè)示例 12.2.1 類及其測試 12.2.2 測試是如何運(yùn)行的 12.3 單元測試的核心原則 12.3.1 問題 12.3.2 此代碼不能夠進(jìn)行測試 12.4 測試驅(qū)動(dòng)的開發(fā) 12.4.1 重構(gòu) 12.4.2 重復(fù) 12.4.3 紅色/綠色/重構(gòu) 12.4.4 按照規(guī)范進(jìn)行測試 12.5 TestNG框架 12.5.1 測試循環(huán) 12.5.2 TestNG測試類 12.5.3 配置方法 12.5.4 測試方法 12.5.5 異常 12.5.6 斷言 12.5.7 testng.xml文件 12.6 擴(kuò)展Person類 12.6.1 重構(gòu) 12.6.2 無效日期 12.6.3 日期驗(yàn)證 12.6.4 類的狀態(tài) 12.6.5 現(xiàn)在在哪里呢 12.7 小結(jié) 12.8 復(fù)習(xí)題 12.9 練習(xí)題 12.10 挑戰(zhàn)題 第13章 測試驅(qū)動(dòng)的程序設(shè)計(jì)策略 13.1 引言 13.2 第一步—搜索文件 13.2.1 真實(shí)文件與模擬文件 13.2.2 使用真實(shí)文件 13.2.3 到目前為止的回顧過程 13.2.4 模擬 13.2.5 完整的FileNameSearch類 13.3 GUI 13.3.1 GUI布局 13.3.2 測試GUI布局 13.3.3 GUI類 13.3.4 創(chuàng)建GUI 13.3.5 選擇按鈕 13.3.6 模擬對象 13.3.7 搜索按鈕 13.4 完整的搜索器 13.5 小結(jié) 13.6 復(fù)習(xí)題 13.7 練習(xí)題 13.8 挑戰(zhàn)題 第14章 編程工具 14.1 引言 14.2 項(xiàng)目結(jié)構(gòu) 14.2.1 src目錄 14.2.2 build目錄 14.2.3 lib目錄 14.2.4 doc和javadoc目錄 14.2.5 reports目錄 14.2.6 deploy目錄 14.2.7 保證文件安全 14.3 Ant-構(gòu)建工具 14.3.1 Ant概述 14.3.2 項(xiàng)目元素 14.3.3 屬性 14.3.4 path元素 14.3.5 clean目標(biāo) 14.3.6 init目標(biāo) 14.3.7 compile.classes目標(biāo) 14.3.8 compile.tests目標(biāo) 14.3.9 test目標(biāo) 14.3.10 run目標(biāo) 14.3.11 javadoc目標(biāo) 14.3.12 deploy目標(biāo) 14.3.13 all目標(biāo) 14.3.14 使用構(gòu)建文件 14.4 版本控制 14.4.1 CVS和Subversion 14.4.2 Subversion系統(tǒng)信息庫 14.4.3 開始項(xiàng)目 14.4.4 檢驗(yàn)修訂版 14.4.5 更新、登記和沖突 14.4.6 添加、刪除和移動(dòng) 14.4.7 修訂 14.4.8 Status和Logs 14.4.9 diff 394 14.4.10 復(fù)制和分支 14.4.11 進(jìn)一步研究 14.5 集成開發(fā)環(huán)境 14.5.1 使用IDE 14.5.2 IDE和項(xiàng)目 14.5.3 GUI構(gòu)建器 14.5.4 調(diào)試器 14.5.5 UML工具 14.5.6 命令行工具 14.5.7 項(xiàng)目Web站點(diǎn) 14.6 小結(jié) 14.7 復(fù)習(xí)題 14.8 練習(xí)題 14.9 挑戰(zhàn)題 第3部分 程序開發(fā)案例 第15章 案例研究概述 15.1 引言 15.2 案例研究 15.3 案例研究的介紹 第16章 郵件合并系統(tǒng) 16.1 引言 16.2 簡要介紹 16.3 回顧——一些研究 16.3.1 XML 16.3.2 DOM和SAX 16.3.3 JDOM和dom4j 16.3.4 初始試驗(yàn) 16.4 數(shù)據(jù)存儲 16.4.1 初始分析 16.4.2 初始設(shè)計(jì)思想 16.4.3 具體設(shè)計(jì) 16.5 GUI設(shè)計(jì) 16.5.1 初始需求分析 16.5.2 GUI的體系結(jié)構(gòu)和設(shè)計(jì) 16.6 顯示郵件合并列表 16.6.1 鼠標(biāo)操作 16.6.2 顯示郵件合并細(xì)節(jié) 16.7 菜單和操作 16.8 更多操作 16.9 練習(xí)題 16.10 挑戰(zhàn)題 第17章 行人交叉路口模擬 17.1 引言 17.2 最初的問題定義 17.3 最初的思考 17.3.1 交通燈 17.3.2 車輛指揮燈 17.3.3 行人指揮燈 17.4 首輪設(shè)計(jì) 17.5 獲得GUI 17.6 GUI設(shè)計(jì) 17.7 控制中的問題 17.8 進(jìn)一步設(shè)計(jì) 17.9 小結(jié) 17.10 練習(xí)題 17.11 挑戰(zhàn)題 第4部分 Java編程語言詳述 第18章 Java語言參考 18.1 引言 18.2 語法和語義 18.3 基本描述 18.4 示例程序 18.5 小結(jié) 第19章 變量、類型和表達(dá)式 19.1 引言 19.2 注釋 19.2.1 目的 19.2.2 概述 19.2.3 語法 19.2.4 描述 19.2.5 例子 19.3 標(biāo)識符 19.3.1 目的 19.3.2 概述 19.3.3 描述 19.3.4 例子 19.4 Unicode轉(zhuǎn)義符 19.4.1 目的 19.4.2 概述 19.4.3 描述 19.4.4 例子 19.5 字面量 19.5.1 目的 19.5.2 概述 19.5.3 描述 19.5.4 例子 19.6 類型 19.6.1 基本類型 19.6.2 引用類型 19.6.3 自動(dòng)類型轉(zhuǎn)換 19.7 作用域 19.7.1 目的 19.7.2 概述 19.7.3 描述 19.7.4 例子 19.8 變量 19.8.1 變量聲明 19.8.2 變量初始化 19.8.3 數(shù)組變量 19.9 表達(dá)式和運(yùn)算符 19.9.1 基本表達(dá)式 19.9.2 運(yùn)算符 19.10 源文件 19.11 小結(jié) 19.12 復(fù)習(xí)題 19.13 練習(xí)題 第20章 程序流程控制 20.1 引言 20.2 選擇 20.2.1 if語句 20.2.2 switch語句 20.3 迭代 20.3.1 while循環(huán)語句 20.3.2 do循環(huán)語句 20.3.3 for循環(huán)語句 20.3.4 循環(huán)行為檢驗(yàn) 20.3.5 foreach循環(huán)語句 20.4 跳轉(zhuǎn)語句 20.4.1 break語句 20.4.2 continue語句 20.4.3 return語句 20.5 遞歸 20.6 小結(jié) 20.7 復(fù)習(xí)題 20.8 練習(xí)題 第21章 類和包 21.1 引言 21.2 類 21.2.1 類聲明 21.2.2 public、private和protected 21.2.3 實(shí)例變量 21.2.4 實(shí)例初始化器 21.2.5 靜態(tài)變量或類變量 21.2.6 靜態(tài)初始化器 21.2.7 方法 21.2.8 靜態(tài)方法或類方法 21.2.9 構(gòu)造函數(shù) 21.2.10 關(guān)鍵字this 21.3 頂層類 21.3.1 目的 21.3.2 概述 21.3.3 語法 21.3.4 描述 21.4 嵌套類 21.4.1 頂層嵌套類 21.4.2 成員類 21.4.3 局部類 21.4.4 匿名類 21.5 枚舉類型 21.5.1 目的 21.5.2 概述 21.5.3 語法 21.5.4 描述 21.5.5 例子 21.6 包 21.6.1 目的 21.6.2 概述 21.6.3 語法 21.6.4 描述 21.6.5 例子 21.7 靜態(tài)加載 21.7.1 目的 21.7.2 概述 21.7.3 語法 21.7.4 描述 21.7.5 例子 21.8 小結(jié) 21.9 復(fù)習(xí)題 21.10 練習(xí)題 第22章 繼承和接口 22.1 引言 22.2 繼承 22.2.1 繼承的概念 22.2.2 關(guān)鍵字private和protected與繼承性 22.2.3 Final類 22.2.4 方法覆蓋(Overriding) 22.2.5 Final方法 22.2.6 方法調(diào)用表達(dá)式 22.2.7 修改后的成員類名字查找 22.2.8 構(gòu)造函數(shù)與繼承 22.2.9 超類(Super)和隱含命名 22.2.10 抽象(Abstract)類 22.2.11 抽象(Abstract)方法 22.2.12 從類對象繼承的方法 22.3 接口 22.3.1 接口聲明 22.3.2 實(shí)現(xiàn) 22.4 注釋(Annotation) 22.4.1 目的 22.4.2 概述 22.4.3 語法 22.4.4 描述 22.4.5 例子 22.5 小結(jié) 22.6 復(fù)習(xí)題 22.7 練習(xí)題 第23章 異常處理 23.1 引言 23.1.1 異常類 23.1.2 Try、Catch與Finally 23.1.3 異常的傳遞 23.1.4 拋出(Throws)異常聲明 23.1.5 關(guān)鍵字throw 23.2 小結(jié) 23.3 復(fù)習(xí)題 第24章 線程與并發(fā) 24.1 引言 24.2 Thread類 24.2.1 目的 24.2.2 概述 24.2.3 語法 24.2.4 描述 24.2.5 例子 24.3 同步方法 24.3.1 目的 24.3.2 概述 24.3.3 語法 24.3.4 描述 24.3.5 例子 24.4 同步語句 24.4.1 目的 24.4.2 概述 24.4.3 語法 24.4.4 描述 24.4.5 例子 24.5 小結(jié) 24.6 復(fù)習(xí)題 24.7 練習(xí)題 第5部分 附錄 附錄A 術(shù)語表 附錄B CRC方法 B.1 引言 B.2 基本概念 B.3 CRC卡片 B.4 CRC方法過程 B.5 一些問題 B.6 文檔 B.7 設(shè)計(jì) 附錄C 在線文檔 附錄D 運(yùn)行Java程序 D.1 從這里開始 D.2 編譯和運(yùn)行Java程序 D.3 使用Input、FileInput和FileOutput類 D.4 使用DrawFrame和DrawPanel類 D.5 使用CLASSPATH 附錄E Input類 附錄F FileInput類 附錄G FileOutput類 附錄H DrawFrame類 附錄I DrawPanel類 附錄J 參考文獻(xiàn) J.1 特性和Java使用 J.2 單元測試和重構(gòu) J.3 面向?qū)ο蠓治觥⒃O(shè)計(jì)和編程 J.4 通用程序設(shè)計(jì) J.5 算法和數(shù)據(jù)結(jié)構(gòu) J.6 并發(fā)和線程 J.7 工具 J.8 人機(jī)交互
圖書封面
圖書標(biāo)簽Tags
無
評論、評分、閱讀與下載