Java從小白到大牛(第2版)

Java從小白到大牛(第2版)

《 Java從小白到大牛(第2版)》是2021年清華大學出版社出版的一本圖書,作者是關東升。

基本介紹

  • 中文名:Java從小白到大牛(第2版)
  • 作者:關東升
  • 出版時間:2021年
  • 出版社:清華大學出版社
  • ISBN:9787302567974
  • 定價:99 元 
內容簡介,圖書目錄,

內容簡介

本書是一本Java語言學習立體教程,讀者群是零基礎小白,通過本書的學習能夠成為Java大牛。主要內容包括:Java語法基礎、Java編碼規範、數據類型、運算符、控制語句、數組、字元串、面向對象基礎、繼承與多態、抽象類與接口、枚舉類、Java常用類、集合框架、泛型、反射機制、Annotation註解、Lambda表達式、異常處理、輸入輸出、多執行緒、網路編程和圖形用戶界面編程、反射、註解和資料庫編程等技術。最後是項目實戰,在部分系統地講解了兩個項目:PetStore寵物商店和Java版QQ2006聊天工具開發過程。

圖書目錄

第一篇Java基礎
第1章開篇綜述
1.1Java語言歷史
1.2Java語言特點
1.3Java平台
1.3.1Java SE
1.3.2Java EE
1.3.3Java ME
1.4Java虛擬機
1.5本章小結
1.6同步練習
第2章開發環境搭建
2.1JDK工具包
2.1.1Windows平台安裝JDK 14環境要求
2.1.2JDK下載和安裝
2.1.3設定環境變數
2.2IntelliJ IDEA開發工具
2.2.1IntelliJ IDEA下載
2.2.2IntelliJ IDEA安裝
2.3使用文本編輯工具
2.4本章小結
2.5動手實踐
第3章第一個Java程式
3.1使用IntelliJ IDEA 實現
3.1.1創建項目
3.1.2創建類
3.1.3運行程式
3.2文本編輯工具+JDK實現
3.2.1編寫原始碼檔案
3.2.2編譯程式
3.2.3運行程式
3.3代碼解釋
3.4本章小結
3.5動手實踐: 世界,你好!
第4章Java語法基礎
4.1標識符、關鍵字和保留字
4.1.1標識符
4.1.2關鍵字
4.2Java分隔設定
4.3變數
4.3.1變數聲明
4.3.2使用Java 10局部變數類型推斷
4.4常量
4.5Java原始碼檔案
4.6包
4.6.1定義包
4.6.2引入包
4.6.3常用包
4.7本章小結
4.8同步練習
第5章Java編碼規範
5.1命名規範
5.2注釋規範
5.2.1檔案注釋
5.2.2文檔注釋
5.2.3代碼注釋
5.3代碼排版
5.3.1空行
5.3.2空格
5.3.3縮進
5.3.4斷行
5.4其他規範
5.5本章小結
5.6同步練習
第6章數據類型
6.1基本數據類型
6.1.1整數類型
6.1.2浮點類型
6.1.3字元類型
6.1.4布爾類型
6.2數值表示方式
6.2.1進制數字表示
6.2.2指數表示
6.3數值類型相互轉換
6.3.1自動類型轉換
6.3.2強制類型轉換
6.4引用數據類型
6.5本章小結
6.6同步練習
第7章運算符
7.1算術運算符
7.1.1一元運算符
7.1.2二元運算符
7.1.3算術賦值運算符
7.2關係運算符
7.3邏輯運算符
7.4位運算符
7.5其他運算符
7.6運算符優先權
7.7本章小結
7.8同步練習
第8章控制語句
8.1分支語句
8.1.1if語句
8.1.2switch語句
8.1.3Java 14中switch新特性
8.2循環語句
8.2.1while語句
8.2.2dowhile語句
8.2.3for語句
8.2.4增強for語句
8.3跳轉語句
8.3.1break語句
8.3.2continue語句
8.4本章小結
8.5同步練習
8.6動手實踐: 計算水仙花數
第9章數組
9.1一維數組
9.1.1數組聲明
9.1.2數組初始化
9.1.3案例: 數組合併
9.2多維數組
9.2.1二維數組聲明
9.2.2二維數組的初始化
9.2.3不規則數組
9.3本章小結
9.4同步練習
9.5動手實踐: 排序給定整數
第10章字元串
10.1Java中的字元串
10.2使用API文檔
10.3不可變字元串
10.3.1String
10.3.2字元串池
10.3.3字元串拼接
10.3.4字元串查找
10.3.5字元串比較
10.3.6字元串截取
10.4可變字元串
10.4.1StringBuffer和StringBuilder
10.4.2字元串追加
10.4.3字元串插入、刪除和替換
10.5本章小結
10.6同步練習
10.7動手實踐: 公民身份號碼識別
第二篇面 向 對 象
第11章面向對象基礎
11.1面向對象編程
11.2面向對象三個基本特性
11.3類
11.3.1類聲明
11.3.2類體
11.4方法重載
11.5封裝性與訪問控制
11.5.1私有級別
11.5.2默認級別
11.5.3保護級別
11.5.4公有級別
11.6靜態變數和靜態方法
11.7靜態代碼塊
11.8本章小結
11.9同步練習
第12章對象
12.1創建對象
12.2空對象
12.3構造方法
12.3.1構造方法概念
12.3.2默認構造方法
12.3.3構造方法重載
12.3.4構造方法封裝
12.4this關鍵字
12.5對象銷毀
12.6本章小結
12.7同步練習
第13章繼承與多態
13.1Java中的繼承
13.2調用父類構造方法
13.3成員變數隱藏和方法覆蓋
13.3.1成員變數隱藏
13.3.2方法的覆蓋
13.4多態
13.4.1多態概念
13.4.2引用類型檢查
13.4.3引用類型轉換
13.5再談final關鍵字
13.5.1final修飾變數
13.5.2final修飾類
13.5.3final修飾方法
13.6本章小結
13.7同步練習
第14章抽象類與接口
14.1抽象類
14.1.1抽象類概念
14.1.2抽象類聲明和實現
14.2接口
14.2.1抽象類與接口區別
14.2.2接口聲明和實現
14.2.3接口與多繼承
14.2.4接口繼承
14.2.5接口中的默認方法和靜態方法
14.3本章小結
14.4同步練習
第15章枚舉類
15.1枚舉概述
15.2枚舉類聲明
15.2.1最簡單形式的枚舉類
15.2.2枚舉類中成員變數和成員方法
15.2.3枚舉類構造方法
15.3枚舉常用方法
15.4本章小結
15.5同步練習
第16章Java常用類
16.1Java根類——Object
16.1.1toString( )方法
16.1.2對象比較方法
16.2包裝類
16.2.1數值包裝類
16.2.2Character類
16.2.3Boolean類
16.2.4自動裝箱/拆箱
16.3Math類
16.4大數值
16.4.1BigInteger類
16.4.2BigDecimal類
16.5日期和時間相關類
16.5.1Date類
16.5.2日期格式化和解析
16.5.3Calendar類
16.6本章小結
16.7同步練習
第17章內部類
17.1內部類概述
17.1.1內部類的作用
17.1.2內部類的分類
17.2成員內部類
17.2.1實例成員內部類
17.2.2靜態成員內部類
17.3局部內部類
17.4匿名內部類
17.5本章小結
17.6同步練習
第18章Java函式式編程
18.1Lambda表達式概述
18.1.1從一個示例開始
18.1.2Lambda表達式實現
18.1.3函式式接口
18.2Lambda表達式簡化形式
18.2.1省略參數類型
18.2.2省略參數小括弧
18.2.3省略return和大括弧
18.3作為參數使用Lambda表達式
18.4訪問變數
18.4.1訪問成員變數
18.4.2捕獲局部變數
18.5方法引用
18.6本章小結
18.7同步練習
18.8動手實踐: 找出素數
第三篇Java進階
第19章異常處理
19.1從一個問題開始
19.2異常類繼承層次
19.2.1Throwable類
19.2.2Error和Exception
19.2.3受檢查異常和運行時異常
19.3捕獲異常
19.3.1trycatch語句
19.3.2多catch代碼塊
19.3.3trycatch語句嵌套
19.3.4多重捕獲
19.4釋放資源
19.4.1finally代碼塊
19.4.2自動資源管理
19.5throws與聲明方法拋出異常
19.6自定義異常類
19.7throw與顯式拋出異常
19.8本章小結
19.9同步練習
19.10動手實踐: 編寫自己的異常處理類
第20章對象容器——集合
20.1集合概述
20.2List集合
20.2.1常用方法
20.2.2遍歷集合
20.3Set集合
20.3.1常用方法
20.3.2遍歷集合
20.4Map集合
20.4.1常用方法
20.4.2遍歷集合
20.5本章小結
20.6同步練習
第21章泛型
21.1一個問題的思考
21.2使用泛型
21.3自定義泛型類
21.4自定義泛型接口
21.5泛型方法
21.6本章小結
21.7同步練習
21.8動手實踐: 編寫自己的泛型類
第22章檔案管理與I/O流
22.1檔案管理
22.1.1File類
22.1.2案例: 檔案過濾
22.2I/O流概述
22.2.1Java流設計理念
22.2.2流類繼承層次
22.3位元組流
22.3.1InputStream抽象類
22.3.2OutputStream抽象類
22.3.3案例: 檔案複製
22.3.4使用位元組緩衝流
22.4字元流
22.4.1Reader抽象類
22.4.2Writer抽象類
22.4.3案例: 檔案複製
22.4.4使用字元緩衝流
22.4.5位元組流轉換字元流
22.5本章小結
22.6同步練習
22.7動手實踐: 讀寫日期
第23章多執行緒編程
23.1基礎知識
23.1.1進程
23.1.2執行緒
23.1.3主執行緒
23.2創建子執行緒
23.2.1實現Runnable接口
23.2.2繼承Thread執行緒類
23.2.3使用匿名內部類和Lambda表達式實現執行緒體
23.3執行緒的狀態
23.4執行緒管理
23.4.1執行緒優先權
23.4.2等待執行緒結束
23.4.3執行緒讓步
23.4.4執行緒停止
23.5執行緒安全
23.5.1臨界資源問題
23.5.2多執行緒同步
23.6執行緒間通信
23.7本章小結
23.8同步練習
23.9動手實踐: 時鐘套用
第24章網路編程
24.1網路基礎
24.1.1網路結構
24.1.2TCP/IP
24.1.3IP位址
24.1.4連線埠
24.2TCP Socket低層次網路編程
24.2.1TCP Socket通信概述
24.2.2TCP Socket通信過程
24.2.3Socket類
24.2.4ServerSocket類
24.2.5案例: 檔案上傳工具
24.2.6案例: 聊天工具
24.3UDP Socket低層次網路編程
24.3.1DatagramSocket類
24.3.2DatagramPacket類
24.3.3案例: 檔案上傳工具
24.3.4案例: 聊天工具
24.4數據交換格式
24.4.1JSON文檔結構
24.4.2使用第三方JSON庫
24.4.3JSON數據編碼和解碼
24.4.4 案例: 聊天工具
24.5訪問網際網路資源
24.5.1URL概念
24.5.2HTTP/HTTPS協定
24.5.3搭建自己的Web伺服器
24.5.4使用URL類
24.5.5使用HttpURLConnection傳送GET請求
24.5.6使用HttpURLConnection傳送POST請求
24.5.7案例: Downloader
24.6本章小結
24.7同步練習
24.8動手實踐: 解析來自於Web的結構化數據
第25章Swing圖形用戶界面編程
25.1Java圖形用戶界面技術
25.2Swing技術基礎
25.2.1Swing類層次結構
25.2.2Swing程式結構
25.3事件處理模型
25.3.1採用內部類處理事件
25.3.2採用Lambda表達式處理事件
25.3.3使用適配器
25.4布局管理
25.4.1FlowLayout布局
25.4.2BorderLayout布局
25.4.3GridLayout布局
25.4.4不使用布局管理器
25.5Swing組件
25.5.1標籤和按鈕
25.5.2文本輸入組件
25.5.3複選框和單選按鈕
25.5.4下拉列表
25.5.5列表
25.5.6分隔面板
25.5.7使用表格
25.6案例: 圖書庫存
25.7本章小結
25.8同步練習
25.9動手實踐: 展示Web數據
第26章反射
26.1Java反射機制API
26.1.1java.lang.Class類
26.1.2java.lang.reflect包
26.2創建對象
26.2.1調用構造方法
26.2.2案例: 依賴注入實現
26.3調用方法
26.4調用成員變數
26.5本章小結
26.6同步練習
第27章註解
27.1基本註解
27.1.1@Override
27.1.2@Deprecated
27.1.3@SuppressWarnings
27.1.4@SafeVarargs
27.1.5@FunctionalInterface
27.2元註解
27.3自定義註解
27.3.1聲明註解
27.3.2案例: 使用元註解
27.3.3案例: 讀取運行時註解信息
27.4本章小結
27.5同步練習
第28章資料庫編程
28.1數據持久化技術概述
28.2MySQL資料庫管理系統
28.2.1資料庫安裝和配置
28.2.2登錄伺服器
28.2.3常見的管理命令
28.3JDBC技術
28.3.1JDBC API
28.3.2載入驅動程式
28.3.3建立數據連線
28.3.4三個重要接口
28.4案例: 數據CRUD操作
28.4.1資料庫編程一般過程
28.4.2數據查詢操作
28.4.3數據修改操作
28.5本章小結
28.6同步練習
28.7動手實踐: 從結構化文檔遷移數據到資料庫
第四篇項 目 實 戰
第29章項目實戰1: 開發PetStore寵物商店項目
29.1系統分析與設計
29.1.1項目概述
29.1.2需求分析
29.1.3原型設計
29.1.4資料庫設計
29.1.5架構設計
29.1.6系統設計
29.2任務1: 創建資料庫
29.2.1疊代1.1: 安裝和配置MySQL資料庫
29.2.2疊代1.2: 編寫資料庫DDL腳本
29.2.3疊代1.3: 插入初始數據到資料庫
29.3任務2: 初始化項目
29.3.1疊代2.1: 配置項目構建路徑
29.3.2疊代2.2: 添加資源圖片
29.3.3疊代2.3: 添加包
29.4任務3: 編寫數據持久層代碼
29.4.1疊代3.1: 編寫實體類
29.4.2疊代3.2: 資料庫幫助類DBHelper
29.4.3疊代3.3: 編寫DAO類
29.5任務4: 編寫表示層代碼
29.5.1疊代4.1: 編寫啟動類
29.5.2疊代4.2: 編寫自定義視窗類——MyFrame
29.5.3疊代4.3: 用戶登錄視窗
29.5.4疊代4.4: 商品列表視窗
29.5.5疊代4.5: 商品購物車視窗
29.6任務5: 應用程式打包發布
29.6.1疊代5.1: 處理TODO任務
29.6.2疊代5.2: 打包
第30章項目實戰2: 開發Java版QQ聊天工具
30.1系統分析與設計
30.1.1項目概述
30.1.2需求分析
30.1.3原型設計
30.1.4資料庫設計
30.1.5網路拓撲圖
30.1.6系統設計
30.2任務1: 創建伺服器端資料庫
30.2.1疊代1.1: 安裝和配置MySQL資料庫
30.2.2疊代1.2: 編寫資料庫DDL腳本
30.2.3疊代1.3: 插入初始數據到資料庫
30.3任務2: 創建項目
30.3.1疊代2.1: 創建QQ客戶端項目
30.3.2疊代2.2: QQ客戶端項目中添加資源圖片
30.3.3疊代2.3: QQ客戶端項目中添加包
30.3.4疊代2.4: QQ客戶端項目添加JSONjava庫
30.3.5疊代2.5: 創建QQ伺服器項目
30.3.6疊代2.6: QQ伺服器項目中添加包
30.3.7疊代2.7: QQ伺服器項目添加庫
30.4任務3: 編寫QQ伺服器項目外圍代碼
30.4.1疊代3.1: 資料庫幫助類DBHelper
30.4.2疊代3.2: 編寫UserDAO類
30.4.3疊代3.3: 編寫ClientInfo類
30.5任務4: QQ客戶端項目UI實現
30.5.1疊代4.1: 登錄視窗實現
30.5.2疊代4.2: 好友列表視窗實現
30.5.3疊代4.3: 聊天視窗實現
30.6任務5: 用戶登錄過程實現
30.6.1疊代5.1: 客戶端啟動
30.6.2疊代5.2: 客戶端登錄編程
30.6.3疊代5.3: 伺服器啟動
30.6.4疊代5.4: 伺服器驗證編程
30.7任務6: 用戶登錄刷新好友列表
30.7.1疊代6.1: 用戶登錄刷新好友列表伺服器端編程
30.7.2疊代6.2: 用戶登錄刷新好友列表客戶端編程
30.8任務7: 聊天過程實現
30.8.1疊代7.1: 客戶端用戶1向用戶3傳送訊息
30.8.2疊代7.2: 伺服器接收用戶1訊息與轉發給用戶3訊息
30.8.3疊代7.3: 客戶端用戶3接收用戶1訊息
30.9任務8: 用戶下線刷新好友列表過程
30.9.1疊代8.1: 客戶端編程
30.9.2疊代8.2: 伺服器端編程
30.10測試與運行
30.10.1啟動伺服器
30.10.2啟動伺服器失敗分析
30.10.3啟動客戶端
30.10.4啟動客戶端失敗分析

相關詞條

熱門詞條

聯絡我們