Java語言程序設計(第4版·面向對象編程·項目案例·題庫·微課視頻版)

沈澤剛

  • 出版商: 清華大學
  • 出版日期: 2023-06-01
  • 定價: $479
  • 售價: 8.5$407
  • 語言: 簡體中文
  • ISBN: 7302629722
  • ISBN-13: 9787302629726
  • 相關分類: Java 程式語言
  • 下單後立即進貨 (約4週~6週)

  • Java語言程序設計(第4版·面向對象編程·項目案例·題庫·微課視頻版)-preview-1
  • Java語言程序設計(第4版·面向對象編程·項目案例·題庫·微課視頻版)-preview-2
  • Java語言程序設計(第4版·面向對象編程·項目案例·題庫·微課視頻版)-preview-3
Java語言程序設計(第4版·面向對象編程·項目案例·題庫·微課視頻版)-preview-1

商品描述

本書以**的Java 17為基礎,全面講解Java編程語言、Java面向對象技術和Java核心類庫。全書共分19章,內容包括Java起步入門,數據類型與運算符,結構化編程,類、對象和方法,數組,字符串類,面向對象特徵,Java核心類庫,接口與內部類,異常處理,記錄、枚舉和註解類型,泛型與集合,輸入/輸出,函數式編程,JavaFX圖形界面,事件處理與常用控件,JDBC數據庫編程,並發編程基礎,Java網絡編程等。另外,附錄A給出了6個綜合案例的設計和實現。 本書知識點全面,體系結構清晰,重點突出,內容組織循序漸進,配有大量精選案例。每章提供編程練習題,幫助讀者理解、掌握編程技術。本書提供教學大綱、教學課件、電子教案、程序源碼、習題答案、教學進度表、 在線作業和30小時的微課視頻等資源。 本書可作為高等院校電腦或相關專業“面向對象程序設計”或“Java程序設計”課程教材,也可作為Java編程愛好者的參考資料。

目錄大綱

目錄

第1章Java起步入門

1.1Java的起源與演進

1.1.1Java的發展歷程

1.1.2Java語言的優點

1.2Java平臺與運行機制

1.2.1Java平臺與應用領域

1.2.2JVM、JRE和JDK

1.2.3Java字節碼與平臺

獨立

1.3建立開發環境

1.3.1JDK的下載與安裝

1.3.2關於環境變量

1.3.3Java API文檔

1.4第一個Java程序

1.4.1Java程序開發步驟

1.4.2第一個程序分析

1.5集成開發環境

1.5.1使用Eclipse開發Java

程序

1.5.2使用IntelliJ IDEA開發

Java程序

1.6JShell交互式編程環境

1.7小結

編程練習

第2章數據類型與運算符

2.1Java數據類型

2.1.1基本數據類型

2.1.2引用數據類型

2.2標識符與語句

2.2.1Java標識符

2.2.2Java關鍵字

2.2.3變量與賦值

2.2.4語句

2.3基本數據類型及字面值

2.3.1整數類型

2.3.2浮點類型

2.3.3字符類型

2.3.4布爾類型

2.4字符串類型

2.5軟件開發過程

2.6數據類型轉換

2.6.1自動類型轉換

2.6.2強制類型轉換

2.6.3表達式類型自動提升

2.7運算符

2.7.1算術運算符

2.7.2關系運算符

2.7.3邏輯運算符

2.7.4賦值運算符

2.7.5位運算符

2.7.6運算符的優先級和

結合性

2.8程序文檔風格和註釋

2.8.1一致的縮進和空白

2.8.2塊的風格

2.8.3程序註釋

2.9案例學習——求解線性

方程組

2.10案例學習——計算並顯示當前

時間

2.11小結

編程練習

第3章結構化編程

3.1選擇結構

3.1.1單分支if語句

3.1.2雙分支if…else語句

3.1.3條件運算符

3.1.4嵌套的if語句和多分支的

if…else語句

3.2switch語句與switch表

達式

3.2.1switch語句

3.2.2switch表達式

3.3案例學習——兩位數加減

運算

3.4循環結構

3.4.1while循環

3.4.2do…while循環

3.4.3for循環

3.4.4循環的嵌套

3.4.5break語句和continue

語句

3.5案例學習——求最大公

約數

3.6案例學習——打印輸出若乾

素數

3.7小結

編程練習

第4章類、對象和方法

4.1面向對象概述

4.1.1OOP的產生

4.1.2基本概念

4.1.3OOP的優勢

4.2定義類與創建對象

4.2.1類的定義

4.2.2創建和使用對象

4.2.3用UML圖表示類

4.2.4理解棧與堆

4.3構造方法

4.3.1無參數構造方法

4.3.2帶參數構造方法

4.3.3構造方法的重載

4.3.4this關鍵字

4.4案例學習——使用自定義Date

日期類

4.5方法設計

4.5.1如何設計方法

4.5.2調用方法

4.5.3方法重載

4.5.4方法參數的傳遞

4.6案例學習——分數類Fraction

的設計

4.7靜態變量和靜態方法

4.7.1靜態變量

4.7.2靜態方法

4.7.3靜態工廠方法

4.7.4單例模式

4.7.5方法遞歸

4.8案例學習——打印斐波那契

數列

4.9對象初始化

4.9.1實例變量的初始化

4.9.2靜態變量的初始化

4.10變量的作用域

4.11局部變量類型推斷

4.12垃圾回收

4.13小結

編程練習

第5章數組

5.1創建和使用數組

5.1.1聲明和創建數組

5.1.2訪問數組元素

5.1.3數組初始化器

5.1.4增強的for循環

5.2數組的應用

5.2.1數組元素的復制

5.2.2數組參數與返回值

5.2.3可變參數的方法

5.2.4數組的查找

5.3案例學習——數組起泡

排序

5.4java.util.Arrays類

5.4.1數組的復制

5.4.2數組的排序

5.4.3元素的查找

5.4.4數組的比較

5.4.5填充數組元素

5.5案例學習——橋牌隨機

發牌

5.6二維數組

5.6.1二維數組的定義

5.6.2數組元素的使用

5.6.3數組初始化器

5.6.4實例——矩陣乘法

5.6.5不規則二維數組

5.7案例學習——打印輸出魔

方數

5.8小結

編程練習

第6章字符串類

6.1String類及基本操作

6.1.1創建String類對象

6.1.2字符串基本操作

6.1.3String對象的不變性

6.1.4字符串比較

6.1.5字符串的查找和

匹配

6.1.6字符串的拆分與

組合

6.1.7字符串轉換為數組

6.2文本塊

6.3命令行參數

6.4格式化數據

6.5StringBuilder類

6.5.1創建StringBuilder

對象

6.5.2StringBuilder類常用

操作

6.5.3“+”運算符的重載

6.6案例學習——判定回

文串

6.7案例學習——字符串加密、

解密

6.8小結

編程練習

第7章面向對象特徵

7.1面向對象的三大特徵

7.2包、類庫與模塊

7.2.1包與package語句

7.2.2類的導入

7.2.3Java類庫

7.2.4Java模塊系統

7.3封裝性與訪問權限

7.3.1類的訪問權限

7.3.2類成員的訪問權限

7.4類的繼承

7.4.1類繼承的實現

7.4.2方法覆蓋

7.4.3super關鍵字

7.4.4調用父類的構造方法

7.5final關鍵字

7.5.1final修飾類

7.5.2final修飾方法

7.5.3final修飾變量

7.6抽象類

7.7對象轉換與多態性

7.7.1對象轉換

7.7.2instanceof運算符

7.7.3多態與動態綁定

7.8案例學習——自定義類庫的

開發

7.9小結

編程練習

第8章Java核心類庫

8.1java.lang.Object類

8.1.1toString()方法

8.1.2equals()方法

8.1.3hashCode()方法

8.1.4clone()方法

8.2java.lang.Math類

8.3java.lang.System類

8.4基本類型包裝類

8.4.1Character 類

8.4.2Boolean類

8.4.3創建數值類對象

8.4.4數值類的常量

8.4.5自動裝箱與自動拆箱

8.4.6字符串與基本類型

轉換

8.5案例學習——一個整數棧的

實現

8.6BigInteger類和BigDecimal

8.7日期和時間API

8.7.1LocalDate本地

日期類

8.7.2LocalTime本地

時間類

8.7.3LocalDateTime本地日期

和時間類

8.7.4Instant類、Duration類

和Period類

8.7.5其他常用類

8.7.6日期和時間API的解析

和格式化

8.8案例學習——打印輸出

年歷

8.9小結

編程練習

第9章接口與內部類

9.1接口

9.1.1接口的定義

9.1.2常量

9.1.3接口的實現

9.1.4接口的繼承

9.1.5接口類型的使用

9.2接口的非抽象方法

9.2.1靜態方法

9.2.2默認方法

9.2.3私有方法

9.2.4解決默認方法沖突

9.3內部類

9.3.1成員內部類

9.3.2靜態內部類

9.3.3匿名內部類

9.3.4局部內部類

9.4接口示例

9.4.1ComparableT

接口

9.4.2ComparatorT

接口

9.5案例學習——比較員工對象

大小

9.6小結

編程練習

第10章異常處理

10.1異常與異常類

10.1.1異常的概念

10.1.2異常類

10.2捕獲異常

10.2.1異常的拋出與

捕獲

10.2.2try…catch…finally

語句

10.3捕獲多個異常

10.4throws短語和throw

語句

10.5try…with…resources

語句

10.6自定義異常類

10.7斷言

10.7.1使用斷言

10.7.2開啟和關閉斷言

10.7.3何時使用斷言

10.8案例學習——數組不匹配

異常

10.9小結

編程練習

第11章記錄、枚舉和註解類型

11.1記錄類型

11.2枚舉類型

11.2.1枚舉類型的定義

11.2.2枚舉類型的方法

11.2.3枚舉在switch語句

中的應用

11.2.4枚舉類型的構造

方法

11.3註解類型

11.3.1註解概述

11.3.2標準註解

11.3.3定義註解類型

11.3.4標準元註解

11.4小結

編程練習

第12章泛型與集合

12.1泛型

12.1.1泛型類

12.1.2泛型接口

12.1.3泛型方法

12.1.4通配符(?)的使用

12.1.5有界類型參數

12.1.6類型擦除

12.2集合框架

12.3List接口及實現類

12.3.1List的操作

12.3.2ArrayList類

12.3.3遍歷集合元素

12.3.4數組轉換為List

對象

12.4Set接口及實現類

12.4.1HashSet類

12.4.2用Set對象實現集合

運算

12.4.3TreeSet類

12.4.4對象順序

12.5Queue接口及實現

12.5.1Queue接口和Deque

接口

12.5.2ArrayDeque類和

LinkedList類

12.5.3集合轉換

12.6案例學習——用集合存儲、

遍歷員工記錄

12.7Map接口及實現類

12.7.1Map接口

12.7.2HashMap類

12.7.3TreeMap類

12.7.4在Map鍵和值上

迭代

12.7.5Hashtable類和Enu

meration接口

12.8Collections類

12.9案例學習——用Map統計

單詞數量

12.10小結

編程練習 

第13章輸入/輸出

13.1I/O概述

13.1.1File類應用

13.1.2文本I/O與二進制

I/O

13.2二進制I/O流

13.2.1OutputStream類和

InputStream類

13.2.2FileOutputStream類和

FileInputStream類

13.2.3BufferedOutputStream類

和BufferedInputStream

13.2.4DataOutputStream類和

DataInputStream類

13.2.5PrintStream類

13.2.6標準輸入/輸出流

13.3案例學習——文件加密、解密

程序

13.4文本I/O流

13.4.1Reader類和Writer類

13.4.2FileWriter類和

FileReader類

13.4.3BufferedReader類和

BufferedWriter類

13.4.4PrintWriter類

13.4.5使用Scanner對象

13.5案例學習——統計文件行數、

單詞數和字符數

13.6對象序列化

13.6.1對象序列化與

對象流

13.6.2向ObjectOutputStream

中寫入對象

13.6.3從ObjectInputStream

中讀取對象

13.6.4序列化數組

13.7Files類操作

13.7.1Path對象

13.7.2創建和刪除目錄及

文件

13.7.3文件屬性操作

13.7.4文件和目錄的復制與

移動

13.7.5獲取目錄的對象

13.7.6小文件的讀寫

13.7.7使用Files類創建流

對象

13.8小結

編程練習

第14章函數式編程

14.1Lambda表達式

14.1.1從匿名類到Lambda

表達式

14.1.2Lambda表達式

語法

14.1.3函數式接口

14.2預定義函數式接口

14.2.1ConsumerT

接口

14.2.2SupplierT

接口

14.2.3PredicateT

接口

14.2.4FunctionT,R

接口

14.3方法引用和構造方法

引用

14.3.1方法引用

14.3.2構造方法引用

14.4Stream API

14.4.1流概述

14.4.2創建與獲得流

14.4.3連接流和限制流

14.4.4過濾流

14.4.5流轉換

14.4.6流歸約

14.4.7收集結果

14.4.8基本類型流

14.4.9並行流

14.5案例學習——用Stream統計

員工的平均年齡

14.6案例學習——用Stream計算

多個數的斐波那契數

14.7小結

編程練習

第15章JavaFX圖形界面

15.1JavaFX概述

15.1.1Java GUI編程

簡史

15.1.2添加JavaFX軟

件包

15.1.3JavaFX的主要

功能

15.2JavaFX程序基本結構

15.2.1舞臺和場景

15.2.2場景圖和節點

15.2.3Application類生命周期

方法

15.2.4JavaFX程序啟動

15.3JavaFX屬性與綁定

15.3.1JavaFX屬性

15.3.2屬性綁定

15.4JavaFX界面佈局

15.4.1JavaFX坐標系

15.4.2Pane面板

15.4.3HBox面板

15.4.4VBox面板

15.4.5BorderPane面板

15.4.6FlowPane面板

15.4.7GridPane面板

15.4.8StackPane面板

15.4.9使用CSS設置控件

樣式

15.5Color類和Font類

15.5.1Color類

15.5.2Font類

15.6JavaFX形狀

15.6.1Line類

15.6.2Rectangle類

15.6.3Circle類

15.6.4Ellipse類

15.6.5Arc類

15.6.6Polygon類

15.6.7Text類

15.7Image類和ImageView

15.8特效實現

15.8.1陰影效果

15.8.2模糊效果

15.8.3倒影效果

15.8.4發光效果

15.9案例學習——考試成績

分佈圖

15.10小結

編程練習

第16章事件處理與常用控件

16.1事件處理

16.1.1事件處理模型

16.1.2事件類和事件

類型

16.1.3使用事件處理器

16.1.4動作事件

16.1.5鼠標事件

16.1.6鍵盤事件

16.1.7為屬性添加監

聽器

16.2常用控件

16.2.1Label類

16.2.2Button類

16.2.3TextField類和

PasswordField類

16.2.4TextArea類

16.2.5CheckBox類

16.2.6RadioButton類

16.2.7ComboBox類

16.2.8Slider類

16.2.9菜單設計

16.2.10FileChooser類

16.3案例學習——一個猜數

游戲

16.4音頻和視頻

16.5動畫

16.5.1過渡動畫

16.5.2淡出效果

16.5.3移動效果

16.5.4縮放效果

16.5.5旋轉效果

16.5.6時間軸動畫

16.6案例學習——升國旗

奏國歌

16.7小結

編程練習

第17章JDBC數據庫編程

17.1數據庫簡介

17.1.1關系數據庫簡述

17.1.2數據庫語言SQL

17.2JDBC體系結構

17.2.1JDBC訪問數據庫

17.2.2JDBC API 

17.3數據庫訪問步驟

17.3.1加載驅動程序

17.3.2建立連接對象

17.3.3創建語句對象

17.3.4執行語句獲得執行

結果

17.3.5關閉有關對象

17.4使用PreparedStatement

對象

17.4.1創建PreparedStatement

對象

17.4.2帶參數的SQL

語句

17.5創建和訪問 MySQL

數據庫

17.5.1創建數據庫和表

17.5.2訪問MySQL

數據庫

17.6案例學習——使用數據源

連接數據庫

17.7DAO設計模式

17.8可滾動和可更新的

ResultSet

17.8.1可滾動的ResultSet

17.8.2可更新的ResultSet

17.9案例學習——數據庫存取

圖像數據

17.10小結

編程練習

第18章並發編程基礎

18.1Java多線程

18.2創建任務和線程

18.2.1實現Runnable

接口

18.2.2繼承Thread類

18.2.3主線程與守護

線程

18.3線程的狀態與調度

18.3.1線程的狀態

18.3.2線程的優先級和

調度

18.3.3控制線程的結束

18.4線程同步與對象鎖

18.4.1線程沖突與原子

操作

18.4.2方法同步

18.4.3塊同步

18.5線程協調

18.5.1不正確的設計

18.5.2監視器模型

18.6並發工具

18.6.1原子變量

18.6.2Executor和

ExecutorService

18.6.3Callable和

Future

18.6.4使用Lock鎖定

對象

18.7案例學習——百米飛人

大戰

18.8小結

編程練習

第19章Java網絡編程

19.1網絡編程概述

19.1.1網絡分層與協議

19.1.2客戶服務器結構

19.1.3IP地址和域名

19.1.4埠號與套接字

19.2基於TCP的通信

19.2.1基於TCP和UDP通信

的對比

19.2.2ServerSocket類和

Socket類

19.2.3簡單的TCP通信的

例子

19.3基於UDP的通信

19.3.1DatagramSocket類和

DatagramPacket類

19.3.2簡單的UDP通信

例子

19.4基於HTTP的通信

19.4.1理解HTTP

19.4.2URL和URL類

19.4.3URLConnection類

19.5案例學習——訪問Web

應用程序

19.6小結

編程練習

附錄A綜合案例

案例1——英文字母“隨機漫步”

案例2——八皇後問題

案例3——簡單的日歷程序

案例4——簡易計算器

案例5——簡單的五子棋游戲

案例6——簡單的Web服務器

參考文獻