Java程序設(shè)計入門與實戰(zhàn)(微課版)
定 價:69.8 元
- 作者:張毅恒 陳志凌
- 出版時間:2023/2/1
- ISBN:9787115566010
- 出 版 社:人民郵電出版社
- 中圖法分類:TP312.8
- 頁碼:0
- 紙張:
- 版次:01
- 開本:16開
本書主要以零基礎(chǔ)的讀者角度出發(fā),通過簡單易懂的語言、圖文并茂、知識點由淺入深的講解,案例充足和課后習(xí)題鞏固。使得讀者在循環(huán)漸進過程中掌握Java語言編程的知識,從提升自身的實際開發(fā)能力。全書共分為4篇11章,分別為基礎(chǔ)篇、高級篇、數(shù)據(jù)結(jié)構(gòu)與算法篇、實戰(zhàn)篇。內(nèi)容主要包括Java環(huán)境搭建,Java變量命令規(guī)范,Java中的各類數(shù)據(jù)類型,流程控制語句,繼承,多態(tài),類與方法,高級特征,面向常用類,異常處理,Lambda表達式,泛型,棧,堆,鏈表,樹,查找算法,排序算法,遞歸算法和五子棋對戰(zhàn)項目等。本書所有章節(jié)都附有對應(yīng)的課后習(xí)題,所有習(xí)題都帶有完整的源碼答案,快速的幫助讀者提高編碼能力,提升對問題的解決和思考能力。
本書是粵嵌公司策劃并組織編寫的產(chǎn)學(xué)合作協(xié)同育人系列教材之一,實踐性較強,涵蓋了高校相關(guān)專業(yè)方向的主要課程。本書作者具有企業(yè)開發(fā)實戰(zhàn)經(jīng)驗和行業(yè)培訓(xùn)的經(jīng)驗,也為高校學(xué)生講授相關(guān)的課程,理論結(jié)合實踐。
張毅恒。廣州粵嵌通信科技股份有限公司人工智能學(xué)科負責(zé)人。系統(tǒng)架構(gòu)師、高級工程師。5年多研發(fā)經(jīng)驗,8年多技術(shù)講師經(jīng)驗。曾在納斯達克上市公司任職,負責(zé)手機與平板電腦Android系統(tǒng)的移植工作;曾參與車聯(lián)網(wǎng)系統(tǒng)的研發(fā),負責(zé)整個系統(tǒng)的架構(gòu)與搭建工作。從Linux系統(tǒng)移植、后臺服務(wù)器程序開發(fā),到Android應(yīng)用開發(fā)、H5微信小程序,到機器學(xué)習(xí)與數(shù)據(jù)分析,都有豐富的實踐和教學(xué)工作經(jīng)驗。
第 1章 搭建Java開發(fā)環(huán)境 2
1.1 Java概述 2
1.1.1 Java語言的產(chǎn)生 2
1.1.2 Java語言的發(fā)展 3
1.2 Java語言的特點 5
1.2.1 面向?qū)ο?5
1.2.2 可移植性 5
1.2.3 穩(wěn)健性和安全性 5
1.2.4 多線程和動態(tài)性 5
1.3 Java程序工作原理 6
1.3.1 編譯型語言與解釋型語言 6
1.3.2 Java程序執(zhí)行機制 6
1.4 搭建JDK環(huán)境 6
1.5 配置環(huán)境變量 10
1.6 “第 一個”Java程序 14
1.7 集成開發(fā)環(huán)境Eclipse 16
1.8 習(xí)題 20
第 2章 Java基本程序設(shè)計結(jié)構(gòu) 21
2.1 注釋 22
2.1.1 單行注釋 22
2.1.2 多行注釋 22
2.1.3 文檔注釋 22
2.2 標(biāo)識符 24
2.3 關(guān)鍵字 24
2.3.1 類和接口的關(guān)鍵字 25
2.3.2 數(shù)據(jù)類型的關(guān)鍵字 25
2.3.3 流程控制的關(guān)鍵字 26
2.3.4 類成員訪問權(quán)限的關(guān)鍵字 26
2.3.5 類實例的關(guān)鍵字 26
2.3.6 異常處理相關(guān)的關(guān)鍵字 27
2.3.7 其他關(guān)鍵字 27
2.4 數(shù)據(jù)類型 27
2.4.1 Java的基本數(shù)據(jù)類型 28
2.4.2 Java數(shù)據(jù)類型的轉(zhuǎn)換 29
2.5 變量 30
2.6 常量 32
2.7 運算符 33
2.7.1 算術(shù)運算符 33
2.7.2 賦值運算符 34
2.7.3 關(guān)系運算符 34
2.7.4 邏輯運算符 34
2.7.5 位運算符 34
2.7.6 位移運算符 35
2.7.7 其他運算符 35
2.7.8 運算符的優(yōu)先級 35
2.8 流程控制結(jié)構(gòu) 36
2.8.1 分支結(jié)構(gòu) 36
2.8.3 循環(huán)結(jié)構(gòu) 39
2.9 數(shù)組 45
2.9.1 數(shù)組的聲明 45
2.9.2 數(shù)組的初始化 45
2.9.3 數(shù)組的訪問 46
2.9.4 數(shù)組的遍歷 46
2.9.5 二維數(shù)組 48
2.10 習(xí)題 49
第3章 Java面向?qū)ο笕腴T結(jié)構(gòu) 52
3.1 面向?qū)ο笏枷?52
3.2 類與對象 54
3.3 屬性 55
3.4 方法 56
3.5 方法重載 58
3.6 構(gòu)造器 59
3.6.1 構(gòu)造器重載 60
3.6.2 默認構(gòu)造器 60
3.7 初始化塊 61
3.7.1 普通初始化塊 61
3.7.2 靜態(tài)初始化塊 63
3.8 內(nèi)部類 63
3.8.1 成員內(nèi)部類 64
3.8.2 局部內(nèi)部類 65
3.8.3 靜態(tài)內(nèi)部類 65
3.8.4 匿名內(nèi)部類 66
3.9 this的使用 67
3.9.1 引用當(dāng)前類的屬性 68
3.9.2 返回類自身的引用 68
3.9.3 調(diào)用構(gòu)造器 69
3.9.4 用作方法的參數(shù) 70
3.10 鏈?zhǔn)秸{(diào)用 71
3.11 習(xí)題 71
第4章 Java面向?qū)ο笕筇卣?75
4.1 封裝 75
4.1.1 private、protected、public、默認 76
4.1.2 package和import 77
4.2 繼承 79
4.2.1 繼承的定義 80
4.2.2 方法的重寫 82
4.2.3 super關(guān)鍵字的使用 83
4.2.4 方法調(diào)用的優(yōu)先級 87
4.3 多態(tài) 89
4.3.1 多態(tài)的定義 89
4.3.2 多態(tài)的特征 91
4.3.3 instanceof的使用 93
4.3.4 靜態(tài)綁定和動態(tài)綁定 96
4.4 習(xí)題 97
第5章 Java面向?qū)ο蟾呒壧卣?100
5.1 toString()方法 100
5.2 equals()方法 102
5.3 static關(guān)鍵字 105
5.4 final關(guān)鍵字 105
5.4.1 final類 105
5.4.2 final方法 106
5.4.3 final屬性 107
5.4.4 final參數(shù) 108
5.4.5 final變量 108
5.4.6 同時使用static和final 109
5.5 抽象 110
5.6 接口 112
5.6.1 接口的定義 112
5.6.2 接口的實現(xiàn) 113
5.6.3 一個類實現(xiàn)多個接口 114
5.6.4 一個接口繼承多個接口 115
5.7 方法回調(diào) 116
5.8 單例 117
5.8.1 懶漢式單例 117
5.8.2 餓漢式單例 118
5.9 習(xí)題 119
第6章 Python面向?qū)ο?123
6.1 數(shù)組與Arrays類 124
6.2 Object類 124
6.3 基本數(shù)據(jù)類型的包裝類 125
6.3.1 基本數(shù)據(jù)類型與包裝類的轉(zhuǎn)換 125
6.3.2 基本數(shù)據(jù)類型與字符串類型的轉(zhuǎn)換 126
6.4 Math類 126
6.4.1 無理數(shù)的寫法 126
6.4.2 三角函數(shù)的方法 126
6.4.3 取整運算的方法 127
6.4.4 乘方、開方、對數(shù)的方法 127
6.4.5 其他方法 127
6.5 日期和時間相關(guān)的類 127
6.5.1 Date類 128
6.5.2 Calendar類 129
6.5.3 SimpleDateFormat類 131
6.6 字符串操作相關(guān)的類 132
6.6.1 String類 133
6.6.2 字節(jié)數(shù)組、字符數(shù)組與字符串的轉(zhuǎn)換 134
6.6.3 StringBuffer和StringBuilder類 135
6.7 隨機類 136
6.8 正則表達式 137
6.8.1 Pattern與Matcher類 137
6.8.2 元字符 138
6.8.3 提取匹配的關(guān)鍵字 140
6.8.4 正則字符串操作 141
6.9 習(xí)題 141
第7章 異常處理 146
7.1 異常概述 146
7.2 異常處理相關(guān)語法 147
7.2.1 try和catch代碼塊 147
7.2.2 多個catch代碼塊 147
7.2.3 錯誤和異常 149
7.2.4 Exception類 149
7.2.5 finally代碼塊 150
7.2.6 throws拋出異常 151
7.3 異常分類 153
7.4 捕獲異常 153
7.5 拋出異常 154
7.6 習(xí)題 156
第8章 Lambda表達式 160
8.1 值參數(shù)化與行為參數(shù)化 160
8.1.1 值參數(shù)化 160
8.1.2 行為參數(shù)化 163
8.1.3 引入Lambda 165
8.1.4 值參數(shù)化與行為參數(shù)化的比較 166
8.2 Lambda表達式 167
8.3 函數(shù)式接口 168
8.3.1 基本概念 168
8.3.2 JDK 8的函數(shù)式接口 169
8.3.3 參數(shù)的類型推斷 172
8.3.4 多個參數(shù)的運算 172
8.4 Lambda表達式的其他特性 174
8.4.1 使用局部變量 174
8.4.2 方法引用 176
8.4.3 構(gòu)造器引用 176
8.4.4 Lambda表達式與匿名內(nèi)部類的區(qū)別 176
8.5 習(xí)題 177
第9章 數(shù)據(jù)結(jié)構(gòu) 180
9.1 數(shù)組 180
9.2 棧 181
9.3 隊列 185
9.4 鏈表 193
9.5 樹 200
9.6 堆 207
9.7 散列表 213
9.8 圖 216
9.9 習(xí)題 219
第 10章 算法 221
10.1 查找算法 221
10.1.1 順序查找法 221
10.1.2 二分查找法 222
10.2 排序算法 224
10.2.1 冒泡排序法 225
10.2.2 選擇排序法 229
10.2.3 插入排序法 232
10.2.4 希爾排序法 236
10.2.5 快速排序法 239
10.2.6 歸并排序法 242
10.2.7 堆排序法 245
10.2.8 排序算法衡量指標(biāo) 249
10.3 遞歸算法 249
10.4 習(xí)題 252
第 11章 項目開發(fā)與實現(xiàn)——五子棋程序 256
11.1 游戲說明 256
11.1.1 游戲規(guī)則 256
11.1.2 編程注意事項 256
11.1.3 計算機下棋的策略 257
11.2 建立模型 257
11.3 輸出棋盤 258
11.4 放置棋子 260
11.5 計算機下棋策略 264
11.6 讀取用戶下棋的坐標(biāo) 265
11.7 判斷贏棋條件 267
11.8 程序主流程 269