出版時間:2008-4 出版社:清華大學(xué)出版社 作者:朱福喜 頁數(shù):408
Tag標(biāo)簽:無
內(nèi)容概要
本書從初學(xué)者的角度出發(fā),利用通俗易懂的語言和大量生動典型的實(shí)例,由淺入深、循序漸進(jìn)地介紹Java語言的基礎(chǔ)知識與編程機(jī)制,并從面向?qū)ο蟪绦蛟O(shè)計的理論和方法中闡述使用Java語言的編程技巧。 全書列舉了大量的圖表和淺顯易懂的實(shí)例,把學(xué)習(xí)Java的難點(diǎn)、要點(diǎn)展示的淋漓盡致、易學(xué)易懂。全書共分9章,包括:Java概述、Java語言基礎(chǔ)、面向?qū)ο蟪绦蛟O(shè)計、流和文件、Applet、圖形用戶界面設(shè)計、異常處理、多線程、Java網(wǎng)絡(luò)編程。作者精心設(shè)計的綜合實(shí)例——俄羅斯方塊游戲,按照章節(jié)的內(nèi)容安排和難易程度將實(shí)例分解并分布于各章節(jié),章后配有自測題和練習(xí)題,為初學(xué)者的入門學(xué)習(xí)起到“切實(shí)(160個實(shí)例)可行(226個自測題+121個練習(xí)題)”的指導(dǎo)性作用,并于書后提供自測題的參考答案。 全書結(jié)構(gòu)嚴(yán)謹(jǐn),兼有普及與提高的雙重功能,可廣泛適用于高等院校計算機(jī)及相關(guān)專業(yè)的Java語言教材,也適合作為軟件開發(fā)人員及其他相關(guān)人員的參考書。
作者簡介
朱福喜,ZhuFuxi,英國人,男,博士,教授,博士生導(dǎo)師。浙江大學(xué)數(shù)學(xué)系獲學(xué)士學(xué)位、武漢大學(xué)計算機(jī)科學(xué)系獲碩士學(xué)位和博士學(xué)位。一直從事人工智能和分布式計算方面的教學(xué)和科研工作。曾參與和主持了國家自然科學(xué)基金項目《專家系統(tǒng)開發(fā)環(huán)境與推理工具系統(tǒng)(87102034)》、國家863項目《國家科委辦公知識信息系統(tǒng)(863-306-04-04-6)》和國防軍工預(yù)演項目《支撐Ada語言的并行分布計算環(huán)境(15.5.1)》的開發(fā)。1993年3月赴美國加州AlphaOmega公司從事項目合作半年,2000年8月訪問美國西東(SetonHallUni.)大學(xué),從事遠(yuǎn)程教育和并行分布計算方面和研究一年。發(fā)表論文30余篇(其中13篇被EI檢索),編寫的教材和專著共9部。參與開發(fā)的多媒體智能應(yīng)用軟件系統(tǒng)獲2000年教育部科技進(jìn)步二等獎,編寫的教材《人工智能原理》和《Java語言與面向?qū)ο蟪绦蛟O(shè)計》獲2002年中南地區(qū)高校優(yōu)秀教材獎。研究方向:人工智能中的自動推理、Web知識挖掘、分布并行計算、企業(yè)級應(yīng)用軟件(J2EE)。
書籍目錄
第1章 Java概述 1.1 Java十周年 1.2 面向?qū)ο蟪绦蛟O(shè)計概述 1.2.1 對象 1.2.2 類 1.2.3 消息 1.2.4 繼承 1.2.5 多態(tài)性 1.2.6 抽象 1.2.7 封裝 1.3 Jaya語言的特色 1.4 JDK的下載、安裝與環(huán)境配置 1.5 Java編譯器與Java虛擬機(jī) 1.5.1 Java.編譯器 1.5.2 Java虛擬機(jī) 1.6 Java獨(dú)立應(yīng)用程序的基本結(jié)構(gòu) 1.6.1 程序的注釋 1.6.2 類的定義 1.6.3 方法的聲明 1.6.4 程序的執(zhí)行語句 1.6.5 一個應(yīng)用程序從編輯到執(zhí)行的完整過程 1.7 JavaApplet程序的基本結(jié)構(gòu) 自測題 練習(xí)題第2章 Java語言基礎(chǔ) 2.1 基本數(shù)據(jù)類型 2.1.1 簡單類型 2.1.2 引用類型 2.1.3 常量 2.1.4 變量的聲明和保存 2.2 數(shù)值類型的運(yùn)算 2.2.1 數(shù)值類型的基本運(yùn)算 2.2.2 位運(yùn)算 2.3 數(shù)值類型的高級運(yùn)算 2.3.1 數(shù)學(xué)函數(shù)運(yùn)算及數(shù)學(xué)常量 2.3.2 快捷操作符和類型轉(zhuǎn)換 2.4 邏輯和比較 2.4.1 邏輯操作符 2.4.2 比較操作符 2.4.3 instanceof操作符 2.5 條件執(zhí)行語句 2.5.1 簡單的if語句 2.5.2 if-else選擇語句 2.5.3 嵌套的if-else-if語句 2.5.4 switch語句 2.6 循環(huán)控制語句 2.6.1 循環(huán)的概念 2.6.2 for循環(huán) 2.6.3 while循環(huán) 2.6.4 do-while循環(huán) 2.6.5 break和continue語句 2.7 數(shù)組 2.7.1 聲明數(shù)組 2.7.2 初始化數(shù)組 2.7.3 訪問數(shù)組的元素 2.7.4 數(shù)組作為方法的參數(shù) 2.8 字符串 2.8.1 字符串類String 2.8.2 StringBuffer類 2.8.3 通過輸入字符串來輸入各種基本類型 2.9 綜合實(shí)例——俄羅斯方塊游戲 2.9.1 游戲介紹 2.9.2 用數(shù)組表示方塊的28種狀態(tài) 2.9.3 位運(yùn)算和位移運(yùn)算在游戲中的使用 2.9.4 用for語句和break語句在游戲中的聯(lián)合使用 2.9.5 用for語句和continue語句在游戲中的聯(lián)合使用 自測題 練習(xí)題第3章 面向?qū)ο蟪绦蛟O(shè)計 3.1 類與對象 3.1.1 類的定義 3.1.2 創(chuàng)建對象和構(gòu)造方法 3.1.3 垃圾回收機(jī)制 3.2 類成員的定義 3.2.1 成員變量的定義 3.2.2 成員方法的定義 3.2.3 變量的作用域 3.3 類的訪問與封裝 3.3.1 訪問成員變量與成員方法 3.3.2 成員的訪問權(quán)限的控制 3.3.3 靜態(tài)成員變量與靜態(tài)成員方法 3.4 重載 3.4.1 重載成員方法 3.4.2 重載構(gòu)造方法 3.5 繼承與覆蓋 3.5.1 類的繼承層次 3.5.2 繼承與構(gòu)造方法 3.5.3 覆蓋 3.5.4 抽象與終結(jié) 3.5.5 Java的基類Object 3.6 接口與多態(tài) 3.6.1 多重繼承和接口 3.6.2 多態(tài)性 3.7 實(shí)現(xiàn)多態(tài)性下的計算 3.7.1 用抽象類實(shí)現(xiàn)多種形狀面積的累加 3.7.2 用接口實(shí)現(xiàn)多種形狀面積的累加 3.7.3 用一個Object數(shù)組實(shí)現(xiàn)多種形狀面積的累加 3.8 包 3.8.1 Java平臺定義的包 3.8.2 包的創(chuàng)建 3.8.3 包的使用 3.8.4 編譯和生成包 3.9 綜合實(shí)例 3.9.1 俄羅斯方塊游戲中的類的繼承關(guān)系 3.9.2 俄羅斯方塊游戲中的ErsBox類 自測題 練習(xí)題第4章 流和文件 4.1 流的基本概念 4.2 文件類及其操作 4.2.1 創(chuàng)建與刪除文件 4.2.2 獲取文件或目錄屬性 4.2.3 獲取目錄成員 4.2.4 過濾文件名 4.3 字節(jié)級輸入輸出類 4.3.1 文件輸入流(FilelnputStream) 4.3.2 文件輸出流(FileOutputStream) 4.3.3 字節(jié)數(shù)組輸入流(ByteArraylnputStream) 4.3.4 字節(jié)數(shù)組輸出流(ByteArrayOutputStream) 4.3.5 回退輸入字節(jié)流(PushbacklnputStream) 4.3.6 數(shù)據(jù)輸出流(DataOutputStream) 4.3.7 數(shù)據(jù)輸入流(DatalnputStream) 4.3.8 緩存輸出流(BufferedOutputStream) 4.3.9 緩存輸入流(BufferedlnputStream) 4.3.10 格式化輸出流(PrintStream) 4.4 字符級輸入輸出類 4.4.1 字符輸入流(Reader) 4.4.2 字符輸出流(Writer) 4.4.3 FileReader類 4.4.4 BufferedReader類 4.4.5 FileWriter類 4.4.6 BufferedWriter類 4.4.7 PrintWriter類 4.4.8 讀取字符數(shù)組類(CharArrayReader) 4.4.9 寫字符數(shù)組類(CharArrayWriter) 4.4.10 回退輸入字符流(PushbackReader) 4.5 流的標(biāo)記分解類(StreamTokenizer) 4.6 對象級輸入輸出類 4.6.1 Serializable接口 4.6.2 對象輸出流(ObjectOutputStream) 4.6.3 對象類輸入流(ObjectInputStream) 4.7 RandomAccessFile 4.8 系統(tǒng)I/O流 自測題 練習(xí)題第5章 Applet 5.1 Applet的基本概念 5.1.1 Applet的構(gòu)架 5.1.2 Applet類的實(shí)例變量 5.1.3 Applet類的成員方法 5.1.4 Applet的生命周期 5.2 Applet標(biāo)記 5.2.1 Applet標(biāo)記中的屬性 5.2.2 利用標(biāo)記NApplet傳遞參數(shù) 5.3 Applet的安全限制與文件讀取方法 5.3.1 統(tǒng)一資源定位器URL 5.3.2 獲取URL 5.3.3 使用URL載入數(shù)據(jù) 5.4 Applet環(huán)境與狀態(tài)顯示 5.4.1 Applet的狀態(tài)顯示 5.4.2 Applet的環(huán)境的獲取和利用 5.5 Applet的繪圖與控制 5.5.1 在Applet中利Graphics類繪圖 5.5.2 在Appletd?顯示與更新 5.5.3 在Applet中加入控制項 5.6 綜合實(shí)例——交通燈控制 自測題 練習(xí)題第6章 圖形用戶界面設(shè)計 6.1 抽象窗口工具包(AWT)簡介 6.2 基本的窗口類 6.2.1 Container類 6.2.2 Window類 6.2.3 Panel類 6.2.4 Frame類 6.2.5 Dial09 6.2.6 簡單窗口舉例 6.3 簡單的GUI構(gòu)件類 6.3.1 Button(按鈕)類 6.3.2 TextField(文本域)類 6.3.3 Label(標(biāo)簽)類 6.3.4 TextArea(文本區(qū))類 6.3.5 List(列表)類 6.4 簡單的事件處理 6.4.1 動作事件響應(yīng)的一般步驟 6.4.2 ActionListener接口 6.5 事件類型及其處理 6.5.1 事件源 6.5.2 事件監(jiān)聽接口 6.5.3 低級事件 6.5.4 高級事件 6.5.5 事件、事件源與監(jiān)聽接口 6.5.6 監(jiān)聽接口適配器 6.6 布局管理 6.6.1 FlowLayout 6.6.2 BorderLayout 6.6.3 GridLayout 6.6.4 CardLayout 6.6.5 GridBagLayout 6.7 菜單系統(tǒng) 6.8 對話框 6.8.1 Dialog類 6.8.2 FileDialog類 6.9 圖形類與圖形的繪制 6.9.1 畫線 6.9.2 畫矩形 6.9.3 設(shè)置色彩和畫其他圖形 6.10 AWT與Swing 6.11 綜合實(shí)例——俄羅斯方塊游戲的界面實(shí)現(xiàn) 6.11.1 主類ErsBlocksGame 6.11.2 控制面板類ControlPanel 6.11.3 游戲顯示窗口GameCanvas 自測題 練習(xí)題第7章 異常處理 7.1 錯誤和異常的產(chǎn)生與處理 7.2 Java平臺定義的異常 7.2.1 異常類的層次結(jié)構(gòu) 7.2.2 Throwable類 7.2.3 Error類和Exception類 7.2.4 隱式和顯式異常 7.3 自定義的異常 7.4 拋出一個異常 7.4.1 拋出一個顯式異常 7.4.2 處理異常的方法 7.5 捕獲異常 7.5.1 try-catch錯誤處理 7.5.2 多異常的捕獲和處理 7.5.3 finally子句 7.6 異常處理的嵌套 7.6.1 在try塊中包含有try-catch語句 7.6.2 在捕獲異常之后又出現(xiàn)了異常 7.6.3 在finally子句中包含有try—catch語句 7.7 俄羅斯方塊游戲中的異常處理 7.7.1 在ErsBox類中克隆對象時捕獲異常 7.7.2 在ErsBlock類中克隆對象時捕獲異常 7.7.3 在ControlPanel類中克隆對象時捕獲異常 自測題 練習(xí)題第8章 多線程 8.1 線程的基本概念 8.1.1 線程類Thread 8.1.2 線程的狀態(tài) 8.1.3 線程的優(yōu)先級 8.2 線程的使用方法 8.2.1 通過繼承Thread類創(chuàng)建線程 8.2.2 通過實(shí)現(xiàn)Runnable接口創(chuàng)建線程 8.3 多線程的使用方法 8.3.1 多線程的創(chuàng)建方法 8.3.2 判斷線程是否存在 8.3.3 線程的結(jié)合(ioin) 8.3.4 線程的優(yōu)先級的獲取和設(shè)置 8.4 多線程的同步處理 8.4.1 線程synchronized方法 8.4.2 Applet@使用線程 8.4.3 線程的等待與喚醒 8.5 綜合實(shí)例——俄羅斯方塊游戲中使用的線程 8.5.1 通過繼承Thread類實(shí)現(xiàn)俄羅斯方塊游戲 8.5.2 通過Runnable接口實(shí)現(xiàn)游戲類方塊 自測題 練習(xí)題第9章 Java網(wǎng)絡(luò)編程 9.1 Java網(wǎng)絡(luò)應(yīng)用基礎(chǔ) 9.1.1 IP地址 9.1.2 端口 9.1.3 套接字 9.1.4 數(shù)據(jù)包 9.1.5 Internet協(xié)議 9.2 基于URL網(wǎng)絡(luò)應(yīng)用 9.2.1 直接從URL讀取內(nèi)容 9.2.2 建立一個URL連接并從中讀取內(nèi)容 9.3 以Socket方式實(shí)現(xiàn)通信 9.3.1 客戶端Socket 9.3.2 服務(wù)器端Socket 9.3.3 簡單郵件系統(tǒng) 9.3.4 有關(guān)目錄的客戶/服務(wù)器系統(tǒng) 9.4 用Datagram方式實(shí)現(xiàn)通信 9.4.1 數(shù)據(jù)包和套接字 9.4.2 用Datagram實(shí)現(xiàn)客戶/服務(wù)器模式 9.5 綜合實(shí)例——俄羅斯方塊雙人對戰(zhàn)網(wǎng)絡(luò)游戲 9.5.1 游戲的實(shí)現(xiàn)概要 9.5.2 基于Socket的C/S模式的通信 9.5.3 對打游戲具體實(shí)現(xiàn) 9.5.4 游戲的運(yùn)行 自測題 練習(xí)題自測題答案參考文獻(xiàn)
編輯推薦
循序漸進(jìn)地闡述Java語言的基礎(chǔ)知識與主要編程機(jī)制,大量的圖表、淺顯易懂的實(shí)例闡述使用Java語言的編程技巧,深入細(xì)致地將學(xué)習(xí)Java的難點(diǎn)、要點(diǎn)展示得淋漓盡致,易學(xué)易懂,通過精選大量Java認(rèn)證和從業(yè)考試的試題,檢驗學(xué)習(xí)效果。 一個精心設(shè)計的綜合案例——俄羅斯方塊游戲程序貫穿全書,根據(jù)章節(jié)安排和難易程度逐步分解程序的設(shè)計實(shí)現(xiàn)過程?! ”緯厣 碛卸嗄暌痪€教學(xué)經(jīng)驗的專家為Java語言初學(xué)者量身定做,兼有普及與提高的雙重功能 160個實(shí)例:通過實(shí)例學(xué)習(xí)Java語言的編程技巧 121個練習(xí)題:動手練習(xí)快速掌握 226個自測題:鞏固知識檢驗學(xué)習(xí)效果 適用范圍 高等院校計算機(jī)及相關(guān)專業(yè)的Java語言教材,軟件開發(fā)人員及其他有關(guān)人員的學(xué)習(xí)參考書。
圖書封面
圖書標(biāo)簽Tags
無
評論、評分、閱讀與下載