注冊(cè) | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁(yè)出版圖書科學(xué)技術(shù)計(jì)算機(jī)/網(wǎng)絡(luò)軟件與程序設(shè)計(jì)JAVA及其相關(guān)Java語(yǔ)言計(jì)算機(jī)科學(xué)與程序設(shè)計(jì):第3版

Java語(yǔ)言計(jì)算機(jī)科學(xué)與程序設(shè)計(jì):第3版

Java語(yǔ)言計(jì)算機(jī)科學(xué)與程序設(shè)計(jì):第3版

定 價(jià):¥98.00

作 者: (美)Walter Savitch著;朱劍平,劉穎等譯;朱劍平譯
出版社: 清華大學(xué)出版社
叢編項(xiàng): 國(guó)外經(jīng)典教材·計(jì)算機(jī)科學(xué)與技術(shù)
標(biāo) 簽: Java

ISBN: 9787302105923 出版時(shí)間: 2005-04-01 包裝: 膠版紙
開本: 26cm 頁(yè)數(shù): 858 字?jǐn)?shù):  

內(nèi)容簡(jiǎn)介

  本書設(shè)計(jì)用做編程與計(jì)算機(jī)科學(xué)的第一門課程,它涉及了編程技術(shù)及Java編程語(yǔ)言基礎(chǔ)。本書適合用做一學(xué)期課程,也適合用做一學(xué)年課程。本書不需要任何編程經(jīng)驗(yàn),所需的數(shù)學(xué)知識(shí)也只要一些高中代數(shù)。要向已有其他編程課程的學(xué)生再講授一門Java課程,也可以使用本書,這時(shí)本書前幾章可以當(dāng)做課外閱讀資料(若學(xué)生已具有C或C++編程經(jīng)驗(yàn),這里也給出了一個(gè)附錄以解釋Java與C或C++之間的一些差異)。 本書中所有代碼均使用Sun Microsystems公司(簡(jiǎn)稱Sun公司)的Java 2(版本為1.4)測(cè)試通過。為了能夠充分地利用本書,你所使用的Java版本應(yīng)該是1.4或更高版本。本書對(duì)Java知識(shí)點(diǎn)的覆蓋面已經(jīng)在試驗(yàn)班教學(xué)中通過了測(cè)試,另外本書對(duì)初學(xué)者而言也是一個(gè)簡(jiǎn)練而可行的指南。

作者簡(jiǎn)介

  WalterSavitch編寫了許多編程方面的暢銷書、涉及Java、Pascal、Ada、C++、CS1和CS2。他因其著作的靈活性和易于理解的寫作風(fēng)格而受到了廣泛的贊譽(yù)。Savitch是加州大學(xué)對(duì)地亞哥分校計(jì)算機(jī)系的教授。

圖書目錄

第1章 計(jì)算機(jī)及Java簡(jiǎn)介
1.1 計(jì)算機(jī)基礎(chǔ)
1.1.1 硬件與內(nèi)存
1.1.2 程序
1.1.3 編程語(yǔ)言與編譯器
1.1.4 Java字節(jié)碼
1.1.5 鏈接
1.2 設(shè)計(jì)程序
1.2.1 面向?qū)ο缶幊?br /> 1.2.2 封裝
1.2.3 多態(tài)
1.2.4 繼承
1.2.5 若大家學(xué)習(xí)過某種其他編程語(yǔ)言
1.2.6 算法
1.2.7 可重用組件
1.2.8 測(cè)試與調(diào)試
陷阱:對(duì)付陷阱
陷阱:隱藏式錯(cuò)誤
1.3 Java體驗(yàn)
1.3.1 Java語(yǔ)言簡(jiǎn)史
1.3.2 Applet
1.3.3 第一個(gè)Java應(yīng)用程序
1.3.4 編譯Java程序或類
1.3.5 運(yùn)行Java程序
1.3.6 Applet實(shí)例預(yù)覽(選修)
1.4 本章小結(jié)
1.5 自測(cè)題答案
1.6 編程練習(xí)
第2章 原型、字符串與交互式I/O
2.1 原型與表達(dá)式
2.1.1 變量
2.1.2 Java標(biāo)識(shí)符
陷阱:Java區(qū)分大小寫
2.1.3 原型
2.1.4 賦值語(yǔ)句
2.1.5 專用賦值運(yùn)算符
2.1.6 簡(jiǎn)單輸入與輸出
2.1.7 數(shù)字常量
2.1.8 賦值兼容性
2.1.9 類型強(qiáng)轉(zhuǎn)
Java提示:將字符強(qiáng)轉(zhuǎn)成整數(shù)
編程提示:初始化變量
陷阱:浮點(diǎn)數(shù)的不精確性
2.1.10 算術(shù)運(yùn)算符
2.1.11 括號(hào)與優(yōu)先規(guī)則
案例研究:零售機(jī)兌換
2.1.12 遞增/遞減運(yùn)算符
2.1.13 遞增/遞減運(yùn)算符更多相關(guān)信息
2.2 String類
2.2.1 字符串常量與變量
2.2.2 字符串連接
2.2.3 類
2.2.4 String方法
2.2.5 字符串處理
2.2.6 轉(zhuǎn)義字符
2.2.7 Unicode字符集
2.3 鍵盤與屏幕I/O
2.3.1 屏幕輸出
2.3.2 SavitchIn輸入
2.3.3 其他輸入方法
陷阱:readInt與readDouble
編程提示:回顯輸入
2.4 文檔與樣式
編程提示:使用有意義的變量名
2.4.1 文檔與注釋
2.4.2 縮進(jìn)
2.4.3 命名式常量
2.5 本章小結(jié)
2.6 自測(cè)題答案
2.7 編程練習(xí)
第3章 控制流
3.1 分支語(yǔ)句
3.1.1 if-else語(yǔ)句
3.1.2 布爾表達(dá)式介紹
陷阱:在字符串中使用==
編程提示:按字母順序比較
3.1.3 嵌套語(yǔ)句與復(fù)合語(yǔ)句
Java提示:else與if的配對(duì)關(guān)系
3.1.4 多分支的if-else語(yǔ)句
編程示例:評(píng)等級(jí)分
3.1.5 switch語(yǔ)句
陷阱:忽略break語(yǔ)句
3.1.6 條件操作符(選修)
3.2 Java中的循環(huán)語(yǔ)句
3.2.1 while語(yǔ)句
Java提示:while循環(huán)能夠執(zhí)行零次迭代
3.2.2 do-while語(yǔ)句
編程示例:害蟲成災(zāi)
陷阱:無(wú)限循環(huán)
3.2.3 for語(yǔ)句
3.2.4 for語(yǔ)句中的逗號(hào)(選修)
陷阱:循環(huán)語(yǔ)句中的多余分號(hào)
Java提示:選擇一種循環(huán)語(yǔ)句
3.2.5 循環(huán)中的break語(yǔ)句
陷阱:break語(yǔ)句的誤用
3.2.6 exit方法
3.3 循環(huán)在編程中的應(yīng)用
3.3.1 循環(huán)體
3.3.2 初始化語(yǔ)句
3.3.3 終止循環(huán)
編程示例:嵌套循環(huán)
編程提示:不要在循環(huán)體中聲明變量
3.3.4 循環(huán)中的錯(cuò)誤
3.3.5 變量跟蹤
3.4 布爾類型
3.4.1 布爾表達(dá)式與布爾變量
編程提示:布爾變量的命名
3.4.2 優(yōu)先級(jí)規(guī)則
3.4.3 布爾值的輸入和輸出
案例研究:使用布爾變量來結(jié)束循環(huán)
3.5 本章小結(jié)
3.6 自測(cè)題答案
3.7 編程練習(xí)
第4章 定義類與方法
4.1 類與方法定義
4.1.1 類文件與獨(dú)立編譯
4.1.2 實(shí)例變量
4.1.3 使用方法
4.1.4 空方法定義
4.1.5 有返回值的方法
Java提示:空方法中return的使用
4.1.6 this參數(shù)
4.1.7 局部變量
4.1.8 塊
陷阱:在塊中聲明的變量
Java提示:在for語(yǔ)句中聲明變量
4.1.9 原型參數(shù)
陷阱:參數(shù)與參量概念的使用
4.1.10 類與方法的定義語(yǔ)法小結(jié)
4.2 信息隱藏與封裝
4.2.1 信息隱藏
編程提示:參數(shù)名對(duì)方法是局部有效的
4.2.2 前提注釋與結(jié)果注釋
Java提示:斷言檢查
4.2.3 public和private修飾語(yǔ)
編程提示:實(shí)例變量應(yīng)為私有
編程示例:Purchaes類
4.2.4 封裝
4.2.5 用Javadoc自動(dòng)生成文檔
4.2.6 UML類圖
4.3 對(duì)象與引用
4.3.1 類類型變量和對(duì)象
陷阱:類類型變量中=和==的使用
Java提示:為類設(shè)計(jì)equals方法
4.3.2 布爾值方法
4.3.3 類參數(shù)
4.3.4 類參數(shù)與原型參數(shù)的比較
4.4 本章小結(jié)
4.5 自測(cè)題答案
4.6 編程練習(xí)
第5章 關(guān)于對(duì)象與方法的更多知識(shí)
5.1 方法編程
5.1.1 調(diào)用其他方法的方法
編程提示:設(shè)置輔助方法為私有方法
Java提示:恰當(dāng)?shù)卦O(shè)置編譯器
陷阱:Null指針異常
5.2 靜態(tài)方法與靜態(tài)變量
5.2.1 靜態(tài)方法
陷阱:在靜態(tài)方法中調(diào)用非靜態(tài)方法
Java提示:可以在類中加入一個(gè)main方法
5.2.2 靜態(tài)變量(選修)
5.2.3 Math類
5.2.4 Integer類、Double類和其他包裝類
5.3 設(shè)計(jì)方法
案例研究:格式化輸出
5.3.1 自頂向下的設(shè)計(jì)
5.3.2 測(cè)試方法
5.4 重載
5.4.1 重載的基本要求
編程示例:Pet類
陷阱:重載與自動(dòng)類型轉(zhuǎn)換
陷阱:無(wú)法根據(jù)返回值的類型來實(shí)現(xiàn)重載
編程示例:類Money
5.5 構(gòu)造函數(shù)
5.5.1 定義構(gòu)造函數(shù)
編程提示:可以在構(gòu)造函數(shù)中使用其他方法
陷阱:忽略默認(rèn)構(gòu)造函數(shù)
陷阱:許多包裝類不具有默認(rèn)構(gòu)造函數(shù)
5.6 信息隱藏重訪
陷阱:私密泄漏
5.7 包
5.7.1 包和導(dǎo)入
5.7.2 包名與目錄
陷阱:在類路徑中沒有包含當(dāng)前目錄
5.7.3 命名沖突
5.8 本章小結(jié)
5.9 自測(cè)題答案
5.10 編程練習(xí)
第6章 數(shù)組
6.1 數(shù)組基礎(chǔ)
6.1.1 數(shù)組的創(chuàng)建與訪問
6.1.2 數(shù)組詳解
編程提示:使用單數(shù)數(shù)組名
6.1.3 length實(shí)例變量
Java提示:數(shù)組索引從零開始
編程提示:使用for循環(huán)遍歷數(shù)組
陷阱:數(shù)組索引超出邊界
6.1.4 初始化數(shù)組
6.2 類與方法中的數(shù)組
案例研究:銷售報(bào)表
6.2.1 索引式變量用做方法參量
6.2.2 整個(gè)數(shù)組用做方法參量
6.2.3 方法main的參量
陷阱:數(shù)組中=與==的用法
6.2.4 返回?cái)?shù)組的方法
6.3 數(shù)組及類的編程
編程示例:一個(gè)專用清單類
6.3.1 部分填充的數(shù)組
6.3.2 搜索數(shù)組
陷阱:返回一個(gè)數(shù)組實(shí)例變量
6.4 排序數(shù)組
6.4.1 選擇排序
6.4.2 其他排序算法
6.5 多維數(shù)組
6.5.1 多維數(shù)組基礎(chǔ)
6.5.2 多維數(shù)組參數(shù)與返回值
6.5.3 多維數(shù)組的實(shí)現(xiàn)
6.5.4 不整齊的數(shù)組(選修)
編程示例:?jiǎn)T工時(shí)間記錄
6.6 本章小結(jié)
6.7 自測(cè)題答案
6.8 編程練習(xí)
第7章 繼承
7.1 繼承基礎(chǔ)
編程示例:Person類
7.1.1 派生類
7.1.2 覆蓋方法定義
7.1.3 覆蓋與重載的對(duì)比
7.1.4 final限定詞
陷阱:使用基類的私有實(shí)例變量
編程提示:假定合作者心懷叵測(cè)
陷阱:私有方法并不被繼承
7.1.5 UML繼承示意圖
7.2 繼承的編程
7.2.1 派生類中的構(gòu)造函數(shù)
7.2.2 this方法(選修)
7.2.3 調(diào)用被覆蓋的方法
編程示例:多層派生類
7.2.4 重載與覆蓋的一個(gè)微妙之處(選修)
Java提示:不能使用多重super
編程提示:對(duì)象可以具有多種類型
編程提示:"是一個(gè)"與"有一個(gè)"間的關(guān)系
7.2.5 Object類
案例研究:字符式圖形
7.2.6 抽象類
7.2.7 接口(選修)
7.3 動(dòng)態(tài)綁定與多態(tài)
7.3.1 動(dòng)態(tài)綁定
7.3.2 類型檢查與動(dòng)態(tài)綁定
7.3.3 toString的動(dòng)態(tài)綁定
7.3.4 多態(tài)
Java提示:較好的equals方法(選修)
7.4 本章小結(jié)
7.5 自測(cè)題答案
7.6 編程練習(xí)
第8章 異常處理
8.1 異常處理基礎(chǔ)
8.1.1 Java中的異常
8.1.2 預(yù)定義類Exception
8.1.3 ArrayIndexOutOfBoundsException(備選排序)
8.2 定義異常類
8.2.1 定義自己的異常類
Java提示:定義異常類時(shí)保留getMessage
編程提示:何時(shí)定義異常類
8.3 使用異常類
8.3.1 聲明異常(轉(zhuǎn)移包袱)
8.3.2 不須捕獲的異常
8.3.3 AssertionError類(選修)
8.3.4 多重拋出與捕獲
Java提示:首先捕獲較專用的異常
編程提示:異常處理與信息隱藏
陷阱:濫用異常
編程提示:何時(shí)拋出異常
陷阱:嵌套式try-catch語(yǔ)句塊
8.3.5 finally語(yǔ)句塊(選修)
8.3.6 重新拋出異常(選修)
案例研究:行式計(jì)算器
8.4 本章小結(jié)
8.5 自測(cè)題答案
8.6 編程練習(xí)
第9章 流與文件I/O
9.1 流與文件I/O概述
9.1.1 流的概念
9.1.2 為什么要使用文件進(jìn)行I/O?
9.1.3 文本文件與二進(jìn)制文件之間的區(qū)別
9.2 文本文件I/O
9.2.1 文本文件輸出:PrintWriter
陷阱:try語(yǔ)句塊是一種語(yǔ)句塊
陷阱:覆蓋文件
Java提示:追加至文本文件
Java提示:使用toString用于文本文件輸出
9.2.2 文本文件輸入:BufferedReader
編程示例:從鍵盤上讀取文件名
Java提示:使用路徑名
9.2.3 StringTokenizer類
Java提示:測(cè)試文本文件的末尾
9.2.4 FileReader類與FileOutputStream類
9.2.5 解析SavitchIn類
9.3 File類
使用File類
9.4 二進(jìn)制文件I/O基礎(chǔ)
9.4.1 輸出至二進(jìn)制文件:使用ObjectOutputStream
9.4.2 writeUTF的一些細(xì)節(jié)(選修)
9.4.3 從二進(jìn)制文件中讀取輸入:使用ObjectInputStream
陷阱:對(duì)文本文件使用ObjectInputStream
陷阱:定義方法以打開流
9.4.4 EOFException類
陷阱:忘記檢查文件末尾
陷阱:以錯(cuò)誤的方式檢查文件末尾
9.4.5 FileInputStream類與FileOutputStream類
編程示例:處理二進(jìn)制數(shù)據(jù)文件
9.5 對(duì)象流的對(duì)象I/O
9.5.1 類對(duì)象的二進(jìn)制I/O
陷阱:異常、異常、還是異常
9.5.2 Serializable接口
陷阱:在同一文件中混合多種類類型
9.5.3 二進(jìn)制文件中的數(shù)組對(duì)象
9.6 本章小結(jié)
9.7 自測(cè)題答案
9.8 編程練習(xí)
第10章 動(dòng)態(tài)數(shù)據(jù)結(jié)構(gòu)
10.1 向量
10.1.1 使用向量
編程提示:往向量中添加元素
陷阱:向量元素的類型為Object
10.1.2 比較向量和數(shù)組
陷阱:使用capacity代替size
Java提示:使用trimToSize來節(jié)省內(nèi)存
陷阱:使用方法clone
Java提示:新的集合類(選修)
10.2 鏈接數(shù)據(jù)結(jié)構(gòu)
10.2.1 鏈表
陷阱:空指針異常
陷阱:私密泄露
10.2.2 內(nèi)部類
10.2.3 結(jié)點(diǎn)內(nèi)部類
10.2.4 迭代器
編程提示:內(nèi)部迭代器和外部迭代器
10.2.5 鏈表的異常處理
10.2.6 鏈表的變體
10.2.7 其他的鏈接數(shù)據(jù)結(jié)構(gòu)
10.3 本章小結(jié)
10.4 自測(cè)題答案
10.5 編程練習(xí)
第11章 遞歸
11.1 遞歸的基本概念
案例研究:?jiǎn)卧~的位數(shù)
11.1.1 遞歸的工作原理
陷阱:無(wú)限遞歸
11.1.2 遞歸定義與迭代定義
11.1.3 帶返回值的遞歸方法
11.2 使用遞歸進(jìn)行編程
編程提示:不斷詢問直到用戶弄對(duì)為止
案例研究:二分查找
編程提示:將問題一般化
編程示例:歸并排序-遞歸排序算法
11.3 本章小結(jié)
11.4 自測(cè)題答案
11.5 編程練習(xí)
第12章 遞歸窗口界面--Swing
12.1 背景
12.1.1 GUI--圖形用戶界面
12.1.2 事件驅(qū)動(dòng)編程
12.2 Swing詳解初步
陷阱:在運(yùn)行Swing程序時(shí)保存全部工作
編程示例:一個(gè)簡(jiǎn)單的窗口
Java提示:終止Swing程序
陷阱:忘記編程"關(guān)閉窗口"按鈕
陷阱:忘記使用getContentPane
12.2.1 窗口監(jiān)聽器詳解
12.2.2 屏幕對(duì)象的尺寸單位
12.2.3 setVisible詳解
編程示例:本章第一個(gè)Swing程序的改進(jìn)版
編程示例:帶顏色的窗口
12.2.4 JFrame類的一些方法
12.2.5 布局管理器
12.3 按鈕與動(dòng)作監(jiān)聽器
編程示例:添加按鈕
12.3.1 按鈕
12.3.2 動(dòng)作監(jiān)聽器與動(dòng)作事件
陷阱:修改actionPerformed的參數(shù)列表
12.3.3 界面
Java提示:為GUI的外觀與動(dòng)作分別編碼
12.3.4 "模型-視圖-控制器"模式
Java提示:使用setActionCommand方法
12.4 容器類
12.4.1 JPanel類
12.4.2 Container類
Java提示:簡(jiǎn)單窗口界面的構(gòu)建指南
12.5 GUI的文本I/O
12.5.1 文本區(qū)與文本框
編程示例:標(biāo)簽化一個(gè)文本框
12.5.2 輸入/輸出數(shù)字
編程示例:GUI累加器
12.5.3 捕獲NumberFormatException
12.6 本章小結(jié)
12.7 自測(cè)題答案
12.8 編程練習(xí)
第13章 Applet和HTML
13.1 applet
13.1.1 applet基本知識(shí)
13.1.2 運(yùn)行Applet小程序
編程示例:加法器applet小程序
Java提示:把Swing應(yīng)用程序轉(zhuǎn)換成applet小程序
13.1.3 在Applet小程序中添加圖標(biāo)
13.2 HTML介紹
13.2.1 HTML基本知識(shí)
編程提示:一個(gè)簡(jiǎn)單的HTML文檔框架
13.2.2 插入超鏈接
陷阱:不使用重新加載(刷新)按鈕
13.2.3 顯示圖片
編程提示:HTML是一種低級(jí)語(yǔ)言
13.3 HTML頁(yè)面中的Applet小程序
13.3.1 在HTML文檔中放置applet小程序
Java提示:Applet查看器重訪
陷阱:使用老版本的網(wǎng)絡(luò)瀏覽器
13.3.2 老版本的applet類(選修)
13.3.3 applet小程序與安全
13.4 本章小結(jié)
13.5 自測(cè)題答案
13.6 編程練習(xí)
第14章 更多的Swing
14.1 菜單
編程示例:帶有菜單的GUI
14.1.1 菜單欄、菜單與菜單項(xiàng)
14.1.2 嵌套菜單
14.2 讓GUI更漂亮(功能更強(qiáng))
14.2.1 添加圖標(biāo)
陷阱:調(diào)整按鈕大小
14.2.2 滾動(dòng)條與JScrollPane類
14.2.3 添加邊框
陷阱:忘記引入javax.Swing.border
14.3 更多的布局管理器
14.3.1 BoxLayout管理器類
14.3.2 Struts和Glue
陷阱:在其他布局管理器中使用strut和glue
14.3.3 設(shè)置組件間間隔
14.3.4 Box容器類
14.3.5 CardLayout管理器
14.4 內(nèi)部類
輔助類
14.5 事件與監(jiān)聽器的進(jìn)一步討論
14.5.1 WindowListener接口
Java提示:關(guān)閉窗口按鈕的編程
Java提示:setDefaultCloseOperation的進(jìn)一步介紹
編程示例:可見性可變的組件
14.5.2 更新GUI的更多細(xì)節(jié)
14.6 再探Swing類層次結(jié)構(gòu)
14.6.1 按鈕、菜單和抽象按鈕
Java提示:JMenuItem類的其他構(gòu)造函數(shù)
Java提示:還有很多Swing類和方法
14.7 本章小結(jié)
14.8 自測(cè)題答案
14.9 編程練習(xí)
附錄1 關(guān)鍵字
附錄2 優(yōu)先規(guī)則
附錄3 Unicode字符集
附錄4 SavitchIn
附錄5 Protected和Package修飾語(yǔ)
附錄6 十進(jìn)制格式化類
附錄7 迭代器接口
附錄8 復(fù)制
附錄9 Javadoc
附錄10 JOptionPane類
附錄11 C++與Java之間的區(qū)別
詞匯表
END USER LICENSE AGREEMENTS

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) m.ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號(hào) 鄂公網(wǎng)安備 42010302001612號(hào)