Java語言程序設計(基礎篇原書第10版) 计算机科学丛书:Java语言程序设计(基础篇)(原书第10版)

梁勇 (Y.Daniel Liang)

下單後立即進貨 (約4週~6週)

買這商品的人也買了...

相關主題

商品描述

 

<內容簡介>

梁勇編著的《Java語言程序設計》是Java語言的經典教材,中文版分為基礎篇和進階篇,主要介紹程序設計基礎、面向對象程序設計、GUI程序設計、數據結構和演算法、高級Java程序設計等內容。本書以示例講解解決問題的技巧,提供大量的程序清單,每章配有大量複習題和編程練習題,幫助讀者掌握編程技術,並應用所學技術解決實際應用開發中遇到的問題。
基礎篇主要介紹基本程序設計、語法結構、面向對象程序設計、繼承和多態、異常處理和文本I∕O、抽象類和接口等內容。
本書可作為高等院校相關專業程序設計課程的基礎教材,也可作為Java語言及編程愛好者的參考資料。

 

<章節目錄>

出版者的話
中文版序
譯者序
前言
第1章  電腦、程序和Java概述
  1.1  引言
  1.2  什麼是電腦
    1.2.1  中央處理器
    1.2.2  比特和字節
    1.2.3  內存
    1.2.4  存儲設備
    1.2.5  輸入和輸出設備
    1.2.6  通信設備
  1.3  編程語言
    1.3.1  機器語言
    1.3.2  彙編語言
    1.3.3  高級語言
  1.4  操作系統
    1.4.1  控制和監視系統的活動
    1.4.2  分配和調配系統資源
    1.4.3  調度操作
  1.5  Java、萬維網以及其他
  1.6  Java語言規範、API、JDK和
  1.7  一個簡單的Java程序
  1.8  創建、編譯和執行Java程序
  1.9  程序設計風格和文檔
    1.9.1  正確的註釋和註釋風格
    1.9.2  正確的縮進和空白
    1.9.3  塊的風格
  1.10  程序設計錯誤
    1.10.1  語法錯誤
    1.10.2  運行時錯誤
    1.10.3  邏輯錯誤
    1.10.4  常見錯誤
  1.11  使用NetBeans開發Java程序
  1.11.1  創建Java工程
  1.11.2  創建Java類
  1.11.3  編譯和運行類
  1.12  使用Eclipse開發Java程序
  1.12.1  創建Java工程
  1.12.2  創建Java類
  1.12.3  編譯和運行類
  關鍵術語
  本章小結
  測試題
  編程練習題
第2章  基本程序設計
  2.1  引言
  2.2  編寫簡單的程序
  2.3  從控制台讀取輸入

  2.4  標識符
  2.5  變量
  2.6  賦值語句和賦值表達式
  2.7  命名常量
  2.8  命名習慣
  2.9  數值數據類型和操作
    2.9.1  數值類型
    2.9.2  從鍵盤讀取數值
    2.9.3  數值操作符
    2.9.4  冪運算
  2.10  數值型直接量
    2.10.1  整型直接量
    2.10.2  浮點型直接量
    2.10.3  科學記數法
  2.11  表達式求值以及操作符優先級
  2.12  示例學習:顯示當前時間
  2.13  增強賦值操作符
  2.14  自增和自減操作符
  2.15  數值類型轉換
  2.16  軟件開發過程
  2.17  示例學習:整錢兌零
  2.18  常見錯誤和陷阱
  關鍵術語
  本章小結
  測試題
  編程練習題
第3章  選擇
  3.1  引言
  3.2  boolean數據類型
  3.3  if語句
  3.4  雙分支if-else語句
  3.5  嵌套的if語句和多分支if-else語句
  3.6  常見錯誤和陷阱
  3.7  產生隨機數
  3.8  示例學習:計算身體質量指數
  3.9  示例學習:計算稅率
  3.10  邏輯操作符
  3.11  示例學習:判定閏年
  3.12  示例學習:彩票
  3.13  switch語句
  3.14  條件表達式
  3.15  操作符的優先級和結合規則
  3.16  調試
  關鍵術語
  本章小結
  測試題
  編程練習題
第4章  數學函數、字符和字符串
  4.1  引言
  4.2  常用數學函數

    4.2.1  三角函數方法
    4.2.2  指數函數方法
    4.2.3  取整方法
    4.2.4  min、max和abs方法
    4.2.5  random方法
    4.2.6  示例學習:計算三角形的角度
  4.3  字符數據類型和操作
    4.3.1  Unicode和ASCII碼
    4.3.2  特殊字符的轉義序列
    4.3.3  字符型數據與數值型數據之間的轉換
    4.3.4  字符的比較和測試
  4.4  String類型
    4.4.1  求字符串長度
    4.4.2  從字符串中獲取字符
    4.4.3  連接字符串
    4.4.4  字符串的轉換
    4.4.5  從控制台讀取字符串
    4.4.6  從控制台讀取字符
    4.4.7  字符串比較
    4.4.8  獲得子字符串
    4.4.9  獲取字符串中的字符或者子串
    4.4.10  字符串和數字間的轉換
  4.5  示例學習
    4.5.1  猜測生日
    4.5.2  將十六進制數轉換為十進制數
    4.5.3  使用字符串修改彩票程序
  4.6  格式化控制台輸出
  關鍵術語
  本章小結
  測試題
  編程練習題
第5章  循環
  5.1  引言
  5.2  while循環
    5.2.1  示例學習:猜數字
    5.2.2  循環設計策略
    5.2.3  示例學習:多個減法測試題
    5.2.4  使用標記值控制循環
    5.2.5  輸入和輸出重定向
  5.3  do-while循環
  5.4  for循環
  5.5  採用哪種循環
  5.6  嵌套循環
  5.7  最小化數值錯誤
  5.8  示例學習
    5.8.1  求最大公約數
    5.8.2  預測未來學費
    5.8.3  將十進制數轉換為
  十六進制數
  5.9  關鍵字break和

  5.10  示例學習:判斷迴文串
  5.11  示例學習:顯示素數
  關鍵術語
  本章小結
  測試題
  編程練習題
第6章  方法
  6.1  引言
  6.2  定義方法
  6.3  調用方法
  6.4  void方法示例
  6.5  通過傳值進行參數傳遞
  6.6  模塊化代碼
  6.7  示例學習:將十六進制數轉換為十進制數
  6.8  重載方法
  6.9  變量的作用域
  6.10  示例學習:生成隨機字符
  6.11  方法抽象和逐步求精
  6.11.1  自頂向下的設計
  6.11.2  自頂向下和自底向上的實現
  6.11.3  實現細節
  6.11.4  逐步求精的優勢
  關鍵術語
  本章小結
  測試題
  編程練習題
第7章  一維數組
  7.1  引言
  7.2  數組的基礎知識
    7.2.1  聲明數組變量
    7.2.2  創建數組
    7.2.3  數組大小和默認值
    7.2.4  訪問數組元素
    7.2.5  數組初始化語法
    7.2.6  處理數組
    7.2.7  foreach循環
  7.3  示例學習:分析數字
  7.4  示例學習:一副牌
  7.5  數組的複製
  7.6  將數組傳遞給方法
  7.7  從方法中返回數組
  7.8  示例學習:統計每個字母出現的次數
  7.9  可變長參數列表
  7.10  數組的查找
    7.10.1  線性查找法
    7.10.2  二分查找法
  7.11  數組的排序
  7.12  Arrays類
  7.13  命令行參數
  7.13.1  向main方法傳遞字符串

  7.13.2  示例學習:計算器
  關鍵術語
  本章小結
  測試題
  編程練習題
第8章  多維數組
  8.1  引言
  8.2  二維數組的基礎知識
    8.2.1  聲明二維數組變量並創建二維數組
    8.2.2  獲取二維數組的長度
    8.2.3  鋸齒數組
  8.3  處理二維數組
  8.4  將二維數組傳遞給方法
  8.5  示例學習:多選題測驗評分
  8.6  示例學習:找出距離最近的點對
  8.7  示例學習:數獨
  8.8  多維數組
    8.8.1  示例學習:每日溫度和濕度
    8.8.2  示例學習:猜生日
  本章小結
  測試題
  編程練習題
第9章  對象和類
  9.1  引言
  9.2  為對象定義類
  9.3  示例:定義類和創建對象
  9.4  使用構造方法構造對象
  9.5  通過引用變量訪問對象
    9.5.1  引用變量和引用類型
    9.5.2  訪問對象的數據和方法
    9.5.3  引用數據域和null值
    9.5.4  基本類型變量和引用類型變量的區別
  9.6  使用Java庫中的類
    9.6.1  Date類
    9.6.2  Random類
    9.6.3  Point2D類
  9.7  靜態變量、常量和方法
  9.8  可見性修飾符
  9.9  數據域封裝
  9.10  向方法傳遞對象參數
  9.11  對象數組
  9.12  不可變對象和類
  9.13  變量的作用域
  9.14  this引用
  9.14.1  使用this引用隱藏數據域
  9.14.2  使用this調用構造方法
  關鍵術語
  本章小結
  測試題
  編程練習題

第10章  面向對象思考
  10.1  引言
  10.2  類的抽象和封裝
  10.3  面向對象的思考
  10.4  類的關係
    10.4.1  關聯
    10.4.2  聚集和組合
  10.5  示例學習:設計Course類
  10.6  示例學習:設計棧類
  10.7  將基本數據類型值作為對象處理
  10.8  基本類型和包裝類類型之間的自動轉換
  10.9  BigInteger和BigDecimal類
  10.10  String類
    10.10.1  構造字符串
    10.10.2  不可變字符串與限定字符串
    10.10.3  字符串的替換和分隔
    10.10.4  依照模式匹配、替換和分隔
    10.10.5  字符串與數組之間的轉換
    10.10.6  將字符和數值轉換成字符串
    10.10.7  格式化字符串
  10.11  StringBuilder和StringBuffer類
    10.11.1  修改StringBuilder中的字符串
    10.11.2  toString、capacity、length、setLength和charAt方法
    10.11.3  示例學習:判斷迴文串時忽略既非字母又非數字的字符
  關鍵術語
  本章小結
  測試題
  編程練習題
第11章  繼承和多態
  11.1  引言
  11.2  父類和子類
  11.3  使用super關鍵字
    11.3.1  調用父類的構造方法
    11.3.2  構造方法鏈
    11.3.3  調用父類的方法
  11.4  方法重寫
  11.5  方法重寫與重載
  11.6  Object類及其toString()方法
  11.7  多態
  11.8  動態綁定
  11.9  對象轉換和instanceof運算符
  11.10  Object類的equals方法
  11.11  ArrayList類
  11.12  對於列表有用的方法
  11.13  示例學習:自定義棧類
  11.14  protected數據和方法
  11.15  防止擴展和重寫
  關鍵術語
  本章小結
  測試題

  編程練習題
第12章  異常處理和文本
  12.1  引言
  12.2  異常處理概述
  12.3  異常類型
  12.4  關於異常處理的更多知識
    12.4.1  聲明異常
    12.4.2  拋出異常
    12.4.3  捕獲異常
    12.4.4  從異常中獲取信息
    12.4.5  示例學習:聲明、拋出和捕獲異常
  12.5  finally子句
  12.6  何時使用異常
  12.7  重新拋出異常
  12.8  鏈式異常
  12.9  創建自定義異常類
  12.10  File類
  12.11  文件輸入和輸出
  12.11.1  使用PrintWriter寫數據
  12.11.2  使用try-with-resources自動關閉資源
  12.11.3  使用Scanner讀數據
  12.11.4  Scanner如何工作
  12.11.5  示例學習:替換文本
  12.12  從Web上讀取數據
  12.13  示例學習:Web爬蟲
  關鍵術語
  本章小結
  測試題
  編程練習
第13章  抽象類和接口
  13.1  引言
  13.2  抽象類
    13.2.1  為何要使用抽象方法
    13.2.2  抽象類的幾點說明
  13.3  示例學習:抽象的Number類
  13.4  示例學習:Calendar和
  13.5  接口
  13.6  Comparable接口
  13.7  Cloneable接口
  13.8  接口與抽象類
  13.9  示例學習:Rational類
  13.10  類的設計原則
    13.10.1  內聚性
    13.10.2  一致性
    13.10.3  封裝性
    13.10.4  清晰性
    13.10.5  完整性
    13.10.6  實例和靜態
    13.10.7  繼承與聚合
    13.10.8  接口和抽象類

  關鍵術語
  本章小結
  測試題
  編程練習題
第14章  JavaFX基礎
  14.1  引言
  14.2  JavaFX與Swing以及AWT的比較
  14.3  JavaFX程序的基本結構
  14.4  面板、UI組件以及形狀
  14.5  屬性綁定
  14.6  節點的通用屬性和方法
  14.7  Color類
  14.8  Font類
  14.9  Image和ImageView類
  14.10  佈局面板

 

    14.10.4  HBox?
  14.11  形狀

 

  14.11.4  Circle和

  14.11.6  Polygon和
  14.12  示例學習:ClockPane類
  關鍵術語
  本章小結
  測試題
  編程練習題
第15章  事件驅動編程和動畫
  15.1  引言
  15.2  事件和事件源
  15.3  註冊處理器和處理事件
  15.4  內部類
  15.5  匿名內部類處理器
  15.6  使用lambda表達式簡化事件處理
  15.7  示例學習:貸款計算器
  15.8  鼠標事件
  15.9  鍵盤事件
  15.10  可觀察對象的監聽器
  15.11  動畫

 

  15.12  示例學習:彈球
  關鍵術語
  本章小結
  測試題

  編程練習題
第16章  JavaFX UI組件和多媒體
  16.1  引言
  16.2  Labeled和
  16.3  按鈕
  16.4  複選框
  16.5  單選按鈕
  16.6  文本域
  16.7  文本區域
  16.8  組合框
  16.9  列表視圖
  16.10  滾動條
  16.11  滑動條
  16.12  示例學習:開發一個井字遊戲
  16.13  視頻和音頻
  16.14  示例學習:國旗和國歌
  本章小結
  測試題
  編程練習題
第17章  二進?
  17.1  引言
  17.2  在Java中如何處理文本
  17.3  文本I/O與二進制
  17.4  二進制I/O類
    17.4.1  FileInputStream和
    17.4.2  FilterInputStream和
    17.4.3  DataInputStream和
    17.4.4  BufferedInputStream和
  17.5  示例學習:複製文件
  17.6  對象
    17.6.1  Serializable接口
    17.6.2  序列化數組
  17.7  隨機訪問文件
  關鍵術語
  本章小結
  測試題
  編程練習題
第18章  遞歸
  18.1  引言
  18.2  示例學習:計算階乘
  18.3  示例學習:計算斐波那契數
  18.4  使用遞歸解決問題
  18.5  遞歸輔助方法
    18.5.1  遞歸選擇排序
    18.5.2  遞歸二分查找
  18.6  示例學習:得到目錄的大小
  18.7  示例學習:漢諾塔
  18.8  示例學習:分形
  18.9  遞歸與迭代
  18.10  尾遞歸

  關鍵術語
  本章小結
  測試題
  編程練習題
附錄A  Java關鍵字
附錄B  ASCII字符集
附錄C  操作符優先級表
附錄D  Java修飾符
附錄E  特殊浮點值
附錄F  數系
附錄G  位操作
附錄H  正則表達式
附錄I   枚舉類型