Java 程序設計與應用開發 (微課視頻版)
郭克華、李一帆、孫王斌
買這商品的人也買了...
相關主題
商品描述
本書共分23章,內容涵蓋Java SE開發環境配置、程序設計基礎、面向對象、工具API、GUI開發、圖形開發、網絡編程和案例實訓。本書使用的開發環境是JDK 11.0.8+Eclipse 4.17.0,逐步引領讀者從入門基礎到各個知識點的學習,全書內容由淺入深,輔以大量的實例說明,並有針對性地提供了一些編程實訓。 本書提供所有實例的源代碼,以及開發過程中所用到的軟件,供讀者學習參考使用。 本書為學校教學量身定做,供高等院校Java SE開發相關課程使用,也可以供沒有Java SE開發基礎的程序員作為入門用書,還可以為社會Java培訓班作為教材使用。對於缺乏項目實戰經驗的程序員來說,可用於快速積累項目開發經驗。
作者簡介
郭克華,中南大學計算機學院教授,清華大學2019年暢銷書作者,湖南省計算機教指委秘書長,湖南省傑出青年基金獲得者,美國Texas A&M University訪問學者,長期從事軟件體系結構、編程語言方面的教學和研究,主持國j級、省部級重點項目十餘項,並出版十多部精品著作,其案例式教學方式深入淺出,深受學生喜愛,教學視頻在多個網站上被廣泛轉載。
目錄大綱
目錄
源碼下載
第1章Java語言入門
1.1認識Java語言
1.1.1認識編程語言
1.1.2Java的來歷
1.1.3Java語言的優勢
1.1.4Java語言的三個版本
1.1.5編程前的準備工作
1.2安裝JDK
1.2.1獲取JDK
1.2.2安裝JDK
1.2.3安裝目錄介紹
1.2.4環境變量設置
1.3開發第一個Java程序
1.3.1編寫源代碼
1.3.2將源代碼編譯成.class文件
1.3.3執行.class文件
1.3.4常見錯誤
1.4使用Eclipse開發Java程序
1.4.1認識Eclipse
1.4.2安裝Eclipse
1.4.3建立項目
1.4.4開發Java程序
1.4.5維護項目
本章習題
第2章程序設計基礎——變量及其運算
2.1認識變量
2.1.1變量
2.1.2變量類型
2.2使用變量
2.2.1整型變量
2.2.2浮點型變量
2.2.3字符型變量
2.2.4布爾型變量
2.2.5基本數據類型之間的類型轉換
2.2.6基本數據類型和字符串之間的轉換
2.2.7變量的作用範圍
2.3註釋的書寫
2.3.1單行註釋
2.3.2多行註釋
2.3.3文檔註釋
2.4Java中的運算
2.4.1算術運算
2.4.2賦值運算
2.4.3關系運算
2.4.4邏輯運算
2.4.5運算符的優先級
本章習題
第3章程序設計基礎——流程控制和數組
3.1程序設計的結構
3.1.1判斷結構
3.1.2if結構
3.1.3switch結構
3.2認識循環結構
3.2.1循環結構
3.2.2while循環
3.2.3dowhile循環
3.2.4for循環
3.2.5循環嵌套
3.2.6break語句和continue語句
3.3數組
3.3.1數組原理
3.3.2定義數組
3.3.3使用數組
3.3.4數組的引用性質
3.3.5數組的應用
3.3.6多維數組
本章習題
第4章面向對象編程(一)
4.1認識類和對象
4.1.1類
4.1.2定義類
4.1.3使用類實例化對象
4.1.4訪問對象中的成員變量
4.1.5對象的引用性質
4.2認識成員函數
4.2.1成員函數
4.2.2定義和使用成員函數
4.2.3函數參數的傳遞
4.2.4函數重載
4.3認識構造函數
4.3.1構造函數
4.3.2定義和使用構造函數
本章習題
第5章面向對象編程(二)
5.1靜態變量和靜態函數
5.1.1靜態變量
5.1.2靜態變量的常見應用
5.1.3靜態函數
5.1.4靜態代碼塊
5.2認識封裝
5.2.1封裝
5.2.2實現封裝
5.3使用包
5.3.1包
5.3.2將類放在包中
5.3.3訪問包中的類
5.4使用訪問控制修飾符
5.4.1訪問控制修飾符
5.4.2類的訪問控制修飾符
5.4.3成員的訪問控制修飾符
5.5使用類中類
本章習題
第6章面向對象編程(三)
6.1使用繼承
6.1.1繼承
6.1.2實現繼承
6.1.3繼承的底層本質
6.2成員的覆蓋
6.2.1成員覆蓋
6.2.2成員覆蓋的作用
6.3使用多態
6.3.1多態
6.3.2使用多態
6.3.3父類和子類對象的類型轉換
6.4抽象類和接口
6.4.1抽象類
6.4.2接口
6.5其他
6.5.1關鍵字final
6.5.2Object類
6.6工具的使用
6.6.1將字節碼打包發布
6.6.2文檔的使用
本章習題
第7章Java異常處理
7.1認識異常
7.1.1生活中的異常
7.1.2軟件中的異常
7.1.3為什麽要處理異常
7.1.4異常的機理
7.1.5常見異常
7.2異常的就地捕獲
7.2.1就地捕獲
7.2.2就地捕獲異常
7.2.3多種異常
7.2.4用finally保證安全性
7.3異常的向前拋出
7.3.1向前拋出
7.3.2向前拋出的方法
7.4自定義異常
7.4.1自定義異常的意義
7.4.2自定義異常的使用方法
本章習題
第8章Java常用API
8.1數值運算
8.1.1用Math類實現數值運算
8.1.2實現隨機數
8.2用String類進行字符串處理
8.3用StringBuffer類進行字符串處理
8.4基本數據類型的包裝類
8.4.1認識包裝類
8.4.2通過包裝類進行數據類型轉換
8.5認識Java集合
8.5.1集合
8.5.2Java中的集合
8.5.3認識泛型
8.6使用一維集合
8.6.1一維集合
8.6.2List集合
8.6.3Set集合
8.6.4使用Collections類對集合進行處理
8.7使用二維集合
8.7.1Map集合
8.7.2使用Hashtable和Properties
本章習題
第9章Java多線程開發
9.1認識多線程
9.1.1多線程
9.1.2繼承Thread類開發多線程
9.1.3實現Runnable接口開發多線程
9.1.4兩種方法的區別
9.2控制線程的運行
9.2.1控制線程運行的意義
9.2.2傳統方法的安全問題
9.2.3控制線程運行的方法
9.3線程協作安全
9.3.1線程協作
9.3.2線程協作的問題案例
9.3.3線程協作的解決方案
9.4線程同步安全
9.4.1線程同步
9.4.2線程同步的問題案例
9.4.3線程同步的解決方案
9.4.4線程死鎖
9.5認識定時器
9.5.1定時器的作用
9.5.2定時器的使用
本章習題
第10章Java IO操作
10.1認識IO操作
10.2File類操作
10.2.1File類
10.2.2File類操作文件
10.2.3File類操作目錄
10.3字節流的輸入與輸出
10.3.1字節流
10.3.2字節流讀寫文件
10.3.3字節流讀寫對象
10.4字符流的輸入與輸出
10.4.1字符流
10.4.2字符流讀寫文件
10.4.3鍵盤輸入
10.5IO操作的其他類
10.5.1RandomAccessFile類
10.5.2Properties類
本章習題
第11章GUI程序開發
11.1認識GUI和Swing
11.1.1圖形用戶界面
11.1.2Swing
11.2使用窗口
11.2.1JFrame類開發窗口
11.2.2JDialog類開發窗口
11.3使用控件
11.3.1控件
11.3.2標簽、按鈕、文本框、多行文本框和密碼框
11.3.3單選按鈕、下拉列表框和復選框
11.3.4菜單
11.3.5使用JOptionPane
11.3.6其他控件
11.4顏色、字體和圖片的使用
11.4.1使用顏色
11.4.2使用字體
11.4.3使用圖片
11.5其他功能
11.5.1設置界面的顯示風格
11.5.2獲取屏幕大小
11.5.3使用默認應用程序打開文件
11.5.4將程序顯示為系統托盤
本章習題
第12章Java界面佈局管理
12.1佈局管理
12.1.1認識佈局管理
12.1.2認識LayoutManager
12.2FlowLayout佈局
12.2.1認識FlowLayout
12.2.2使用FlowLayout
12.3GridLayout佈局
12.3.1認識GridLayout
12.3.2使用GridLayout
12.4使用BorderLayout佈局
12.4.1認識BorderLayout
12.4.2使用BorderLayout
12.5綜合案例——計算器
12.5.1案例需求
12.5.2關鍵技術
12.5.3代碼的編寫
12.6空佈局
12.6.1認識空佈局
12.6.2使用空佈局
本章習題
第13章Java事件處理
13.1認識事件處理
13.1.1事件
13.1.2事件處理代碼的編寫
13.1.3其他編程風格
13.2處理ActionEvent
13.2.1認識ActionEvent
13.2.2使用ActionEvent解決實際問題
13.3處理FocusEvent
13.3.1認識FocusEvent
13.3.2使用FocusEvent解決實際問題
13.4處理KeyEvent
13.4.1認識KeyEvent
13.4.2使用KeyEvent解決實際問題
13.5處理MouseEvent
13.5.1認識MouseEvent
13.5.2使用MouseEvent解決實際問題
13.6處理WindowEvent
13.6.1認識WindowEvent
13.6.2使用WindowEvent解決實際問題
13.7使用Adapter簡化開發
本章習題
第14章Java畫圖
14.1認識Java畫圖
14.1.1畫圖
14.1.2實現畫圖
14.2Graphics畫圖
14.2.1Graphics
14.2.2使用Graphics
14.2.3用Graphics實現畫圖
14.2.4綜合案例
14.3認識畫圖片
14.3.1畫圖片
14.3.2畫圖片的使用
14.3.3圖片的裁剪和縮放
14.3.4圖片的旋轉
14.4結合鍵盤事件進行畫圖
14.4.1實例需求
14.4.2鍵盤事件
14.4.3代碼的編寫
14.4.4解決重復畫面問題
14.5結合鼠標事件進行畫圖
14.5.1實例需求
14.5.2復習鼠標事件
14.5.3代碼的編寫
本章習題
第15章Java網絡應用開發
15.1認識網絡編程
15.1.1網絡應用程序
15.1.2認識IP地址和埠
15.1.3客戶端和服務器
15.2用客戶端連接到服務器
15.2.1案例介紹
15.2.2實現客戶端連接到服務器
15.2.3代碼的編寫
15.3利用TCP實現雙向聊天系統
15.3.1案例介紹
15.3.2實現雙向聊天
15.3.3代碼的編寫
15.4利用TCP實現多客戶端相互通信系統
15.4.1案例介紹
15.4.2編寫服務器程序
15.4.3編寫客戶端程序
本章習題
第16章程序設計基礎實訓
16.1關於變量和數據類型的實踐
16.2流程控制和數組的綜合實踐
第17章面向對象實訓: 單例模式
17.1需求簡介
17.2不用單例模式的效果
17.3最原始的單例模式
17.4首次改進
17.5再次改進
17.6思考題
第18章面向對象實訓: 軟件功能擴充
18.1需求簡介
18.2實現方法
18.3出現的問題
18.4改進
18.5測試
第19章工具API實訓: 字符處理與文本翻譯
19.1字符頻率統計軟件
19.1.1軟件功能簡介
19.1.2重要技術
19.1.3項目結構
19.1.4代碼的編寫
19.1.5思考題
19.2文本翻譯軟件
19.2.1軟件功能簡介
19.2.2重要技術
19.2.3項目結構
19.2.4代碼的編寫
19.2.5思考題
第20章GUI開發實訓: 用戶管理系統
20.1用戶管理系統功能簡介
20.2關鍵技術
20.2.1組織界面
20.2.2訪問文件
20.2.3保持狀態
20.2.4其他公共功能
20.3代碼的編寫
20.3.1編寫util包中的類
20.3.2編寫frame包中的類
20.3.3編寫主函數所在的類
20.4思考題
第21章Java畫圖實訓: 卡通時鐘和拼圖游戲
21.1卡通時鐘
21.1.1軟件功能簡介
21.1.2重要技術
21.1.3代碼的編寫
21.1.4思考題
21.2拼圖游戲
21.2.1軟件功能簡介
21.2.2重要技術
21.2.3代碼的編寫
21.2.4思考題
第22章網絡編程實訓: 在線打字游戲
22.1在線打字游戲功能簡介
22.2關鍵技術
22.2.1組織界面
22.2.2掉下的字母
22.2.3分數加減的實現
22.2.4游戲結束的判斷
22.3代碼的編寫
22.3.1服務器端
22.3.2客戶端
第23章綜合實訓: 即時通信軟件開發
23.1即時通信軟件功能簡介
23.1.1服務器界面
23.1.2用戶的登錄和註冊
23.1.3消息收發界面
23.1.4在線人員名單的刷新
23.2項目關鍵技術
23.2.1傳輸消息的實現
23.2.2客戶信息的實現
23.2.3用戶文件保存在服務器端的實現
23.2.4讀寫用戶文件的實現
23.2.5基本模塊結構
23.3編寫服務器端
23.3.1準備工作
23.3.2編寫app.Server類
23.3.3編寫app.ChatThread類
23.3.4編寫main.Main類
23.4編寫客戶端
23.4.1準備工作
23.4.2編寫app.LoginFrame類
23.4.3編寫app.ChatFrame類
23.4.4編寫app.RegisterFrame類
23.4.5編寫main.Main類
23.5思考題