內 容 簡 介
本書在保持第一版教材原創風格的基礎上,按照案例化、實例化的設計原則,解析了原有的知識體系,重新構建了新的知識結構與技術框架,增加了大量具有原創性的案例和實例,并將知識的講授與案/實例的剖析講解有機地結合起來,力圖將Java面向對象的實質和特色淋漓盡致地展示給讀者,幫助讀者扎實而深入地掌握Java編程的技能與技巧,培養讀者靈活運用知識進行應用開發的能力和素養。
全書共分12章,包含了75個精心創作或改編的案例和實例。主要內容包括:Java程序開發環境的搭建、面向對象的Java編程、Java編程基礎、抽象與封裝、字符串與數組、繼承與多態、異常處理、圖形化用戶界面設計、事件處理、GUI應用開發、輸入輸出流、Java數據庫應用開發等。每章后面都配有豐富的習題,附錄的內容為主要習題的參考答案。
本書可作為培養應用型、技能型人才的Java課程教材,亦可作為相關專業的大中專學生及從事Java開發的技術人員的參考書。
前 言
自2008年10月教材的第一版出版以來,Java技術正以日新月異的速度在不斷地發展著。Java語言以自身諸多優秀的品格、跨平臺的特性,以及開源的理念,為越來越多的人士所喜愛、所使用,成為網絡編程、手機開發等領域的主流編程語言。
感謝本教材第一版的忠實讀者們。他們中有大中專院校的學生,有高校或培訓機構的教師,有科研院所的研究人員,還有從事Java開發的技術人員。感謝他們對本教材的選擇與肯定,感謝他們在使用本教材的過程中,向作者提出了許多中肯的意見與合理的建議。這些寶貴的意見和建議,使我在修訂教材的進程中受益無窮。毫不夸張地講:沒有讀者一貫的支持與鼓勵,就沒有教材第二版的問世。
新教材采用版本較新的JDK7和廣為流行的MyEclipse作為開發平臺,對原有教材的知識體系作了重大的調整,刪除了部分不合時宜的內容,增加了數據庫開發等章節,并進一步加大了面向對象知識的講解力度,使新教材的結構與內容更為合理,更適合初學者使用。
與第一版相比,本書在知識安排與講解體例上都有重大的改進。本書徹底采用案例、實例教學法展開講解,75個精心編制的案例和實例貫穿全書。每個案例與實例都緊扣核心知識點,通過解題思路點撥與代碼剖析,向讀者傳授編程的方法與技巧,揭示編程的要義與規律,以期提升讀者抽象思維和邏輯思維的素養,培養讀者分析問題與解決問題的能力。
本書適合理論與實踐一體化的教學模式。總學時建議不宜低于120課時。各章節的教學內容與建議學時如下表所示。教學過程中,教師可酌情調整。
教學內容與學時建議參考表
章 節 教學內容 建議學時 章 節 教學內容 建議學時
第1章 Java程序開發環境的搭建 6 第7章 異常處理 6
第2章 面向對象的Java編程 6 第8章 圖形化用戶界面設計 14
第3章 Java編程基礎 14 第9章 事件處理 10
第4章 抽象與封裝 10 第10章 GUI應用開發 8
第5章 字符串與數組 10 第11章 輸入輸出流 8
第6章 繼承與多態 14 第12章 Java數據庫應用開發 14
建議總學時:120
本書在編著與出版的過程中,還得到了“山東省重大水利科研與技術推廣專項資金”的資助,在此一并表示感謝。
本書所有的附加資源,包括電子課件、圖表素材、實例代碼、模擬試卷、實訓指導書等,讀者可以從清華大學出版社的官網上自由下載。
每一部書稿,從交稿的那一天起,都注定要成為我人生中的又一次遺憾。總是在完稿的那一刻,才感覺到自己腦海中一直激蕩著的許多絕妙的設想和構思,卻沒有最終完美地體現在書稿中。這也許要歸咎于本人學藝不精,抑或是筆力不逮。由于知識與水平所限,書中的錯誤與疏漏在所難免,還請各位讀者與專家予以諒解。隨時歡迎您的批評、指正和建議,編者將不勝感激。
最后,恭祝每位與本書有緣的讀者,能夠諸事遂意,心想事成!
編 者
目 錄第1章 Java程序開發環境的搭建 11.1 案例1:基于JDK的Java程序驗證 11.1.1 必備知識 11.1.2 案例綜述 21.1.3 解決步驟 41.1.4 拓展提升 101.2 案例2:基于MyEclipse的Java程序驗證 101.2.1 必備知識 111.2.2 案例綜述 111.2.3 解決步驟 121.2.4 拓展提升 20習題 20第2章 面向對象的Java編程 232.1 案例1:輸出單行信息的Java應用程序 232.1.1 必備知識 232.1.2 案例綜述 242.1.3 案例解決 242.1.4 拓展提升 282.2 案例2:體現面向對象特征的Java程序 312.2.1 必備知識 312.2.2 案例綜述 332.2.3 案例解決 332.2.4 拓展提升 372.3 案例3:Java Applet程序 382.3.1 必備知識 392.3.2 案例綜述 392.3.3 案例解決 402.3.4 拓展提升 42習題 43第3章 Java編程基礎 453.1 單元1:數據表達 453.1.1 Java語言符號集 453.1.2 Java數據類型 473.1.3 常量與變量 473.1.4 數據類型轉型 503.2 單元2:運算符與表達式 513.2.1 運算符與表達式 513.2.2 運算符的優先級 563.3 單元3:程序的結構 573.3.1 語句與順序結構 583.3.2 分支結構 593.3.3 循環結構 643.3.4 循環嵌套 713.3.5 跳轉語句 74習題 78第4章 抽象與封裝 804.1 單元1:類的構成要素 804.1.1 面向對象的基本特征 804.1.2 類的定義 824.1.3 屬性聲明 854.1.4 構造方法定義 874.1.5 成員方法定義 894.2 單元2:Java的封裝機制 934.2.1 Java的修飾符 934.2.2 訪問修飾符 944.2.3 特征修飾符 994.3 單元3:成員方法的應用 1024.3.1 成員方法的分類 1024.3.2 成員方法中的數據 1034.3.3 讀/寫屬性的成員方法 104習題 109第5章 字符串與數組 1125.1 單元1:常用的系統內部類 1125.1.1 Java的系統類包 1125.1.2 Math類 1135.1.3 基本數據類型的封裝 1165.2 單元2:字符串String 1215.2.1 String類 1215.2.2 StringBuffer類 1255.3 單元3:數組 1275.3.1 一維數組 1275.3.2 多維數組 1315.3.3 數組的應用 136習題 140第6章 繼承與多態 1426.1 單元1:繼承機制 1426.1.1 繼承的概念與實現 1426.1.2 構造方法的繼承 1446.1.3 繼承的特征與意義 1486.2 單元2:Java的多態 1496.2.1 屬性隱藏與方法重寫 1496.2.2 方法重載 1536.2.3 重載與重寫的不同 1586.3 單元3:抽象類與最終類 1596.3.1 抽象類與抽象方法 1596.3.2 最終類與最終方法 1636.4 單元4:接口 1656.4.1 接口的定義與實現 1656.4.2 深入理解接口 1716.5 單元5:包 1766.5.1 包及包的創建 1766.5.2 包的引用 178習題 181第7章 異常處理 1847.1 單元1:異常處理 1847.1.1 異常類 1847.1.2 異常處理機制 1877.2 單元2:定制異常處理 1907.2.1 拋出異常 1917.2.2 自定義異常 1937.2.3 異常處理機制的特點 197習題 197第8章 圖形化用戶界面設計 1998.1 單元1:AWT 1998.1.1 AWT的類與組織 1998.1.2 設置顏色與字體 2038.1.3 AWT的應用程序窗體 2058.2 單元2:Swing的容器組件 2088.2.1 框架窗體JFrame 2098.2.2 其他的容器類 2138.3 單元3:Swing的基本組件 2158.3.1 基本組件類 2158.3.2 標簽與命令按鈕 2168.3.3 文本類組件 2188.3.4 選擇類組件 2218.3.5 列表類組件 2238.4 單元4:布局管理器 2278.4.1 AWT的布局管理器 2288.4.2 BorderLayout 2288.4.3 GridLayout 2308.4.4 FlowLayout 2328.4.5 CardLayout 235習題 237第9章 事件處理 2409.1 單元1:事件驅動編程 2409.1.1 重要概念 2409.1.2 Java的事件 2419.1.3 事件處理原理 2439.2 單元2:監聽器接口與適配器 2479.2.1 事件監聽器接口 2479.2.2 事件適配器類 2519.2.3 內部類 2549.2.4 匿名類 257習題 260第10章 GUI應用開發 26210.1 單元1:菜單系統與工具欄 26210.1.1 菜單系統設計 26210.1.2 工具欄 27010.2 單元2:Swing的高級組件 27310.2.1 選項卡窗格集JTabbedPane 27310.2.2 表格JTable 27710.2.3 層次樹JTree 280習題 284第11章 輸入輸出流 28611.1 單元1:流與文件 28611.1.1 流的類別 28611.1.2 文件類File 28911.2 單元2:字節流的輸入輸出 29311.2.1 抽象字節流類InputStream與OutputStream 29411.2.2 字節文件流類FileInputStream和FileOutputStream 29511.2.3 字節緩沖流類BufferedInputStream和BufferedOutputStream 29711.2.4 字節數據流類DataInputStream和DataOutputStream 29811.3 單元3:字符流的輸入輸出 30111.3.1 抽象字符流類Reader和Writer 30111.3.2 轉換流類InputStreamReader和OutputStreamWriter 30211.3.3 字符文件流類FileReader和FileWriter 30311.3.4 字符緩沖流類BufferedReader和BufferedWriter 30511.3.5 系統類System 308習題 312第12章 Java數據庫應用開發 31412.1 單元1:JDBC 31412.1.1 JDBC概述 31512.1.2 JDBC驅動程序的類別 31712.1.3 JDBC的類與接口 31812.1.4 為MyEclipse配置JDBC運行環境 32412.2 單元2: JDBC操縱數據庫中的數據 32712.2.1 編寫JDBC數據庫應用程序的步驟 32712.2.2 創建數據庫表 33312.2.3 查詢數據 33612.2.4 增加數據 33912.2.5 修改數據 34212.2.6 刪除數據 344習題 346各章課后習題參考答案 348參考文獻 354