Java程序設(shè)計(jì)入門與實(shí)戰(zhàn)(微課版)
定 價(jià):69.8 元
- 作者:張毅恒 陳志凌
- 出版時(shí)間:2023/2/1
- ISBN:9787115566010
- 出 版 社:人民郵電出版社
- 中圖法分類:TP312.8
- 頁(yè)碼:0
- 紙張:
- 版次:01
- 開本:16開
本書主要以零基礎(chǔ)的讀者角度出發(fā),通過簡(jiǎn)單易懂的語(yǔ)言、圖文并茂、知識(shí)點(diǎn)由淺入深的講解,案例充足和課后習(xí)題鞏固。使得讀者在循環(huán)漸進(jìn)過程中掌握J(rèn)ava語(yǔ)言編程的知識(shí),從提升自身的實(shí)際開發(fā)能力。全書共分為4篇11章,分別為基礎(chǔ)篇、高級(jí)篇、數(shù)據(jù)結(jié)構(gòu)與算法篇、實(shí)戰(zhàn)篇。內(nèi)容主要包括Java環(huán)境搭建,Java變量命令規(guī)范,Java中的各類數(shù)據(jù)類型,流程控制語(yǔ)句,繼承,多態(tài),類與方法,高級(jí)特征,面向常用類,異常處理,Lambda表達(dá)式,泛型,棧,堆,鏈表,樹,查找算法,排序算法,遞歸算法和五子棋對(duì)戰(zhàn)項(xiàng)目等。本書所有章節(jié)都附有對(duì)應(yīng)的課后習(xí)題,所有習(xí)題都帶有完整的源碼答案,快速的幫助讀者提高編碼能力,提升對(duì)問題的解決和思考能力。
本書是粵嵌公司策劃并組織編寫的產(chǎn)學(xué)合作協(xié)同育人系列教材之一,實(shí)踐性較強(qiáng),涵蓋了高校相關(guān)專業(yè)方向的主要課程。本書作者具有企業(yè)開發(fā)實(shí)戰(zhàn)經(jīng)驗(yàn)和行業(yè)培訓(xùn)的經(jīng)驗(yàn),也為高校學(xué)生講授相關(guān)的課程,理論結(jié)合實(shí)踐。
張毅恒。廣州粵嵌通信科技股份有限公司人工智能學(xué)科負(fù)責(zé)人。系統(tǒng)架構(gòu)師、高級(jí)工程師。5年多研發(fā)經(jīng)驗(yàn),8年多技術(shù)講師經(jīng)驗(yàn)。曾在納斯達(dá)克上市公司任職,負(fù)責(zé)手機(jī)與平板電腦Android系統(tǒng)的移植工作;曾參與車聯(lián)網(wǎng)系統(tǒng)的研發(fā),負(fù)責(zé)整個(gè)系統(tǒng)的架構(gòu)與搭建工作。從Linux系統(tǒng)移植、后臺(tái)服務(wù)器程序開發(fā),到Android應(yīng)用開發(fā)、H5微信小程序,到機(jī)器學(xué)習(xí)與數(shù)據(jù)分析,都有豐富的實(shí)踐和教學(xué)工作經(jīng)驗(yàn)。
第 1章 搭建Java開發(fā)環(huán)境 2
1.1 Java概述 2
1.1.1 Java語(yǔ)言的產(chǎn)生 2
1.1.2 Java語(yǔ)言的發(fā)展 3
1.2 Java語(yǔ)言的特點(diǎn) 5
1.2.1 面向?qū)ο?5
1.2.2 可移植性 5
1.2.3 穩(wěn)健性和安全性 5
1.2.4 多線程和動(dòng)態(tài)性 5
1.3 Java程序工作原理 6
1.3.1 編譯型語(yǔ)言與解釋型語(yǔ)言 6
1.3.2 Java程序執(zhí)行機(jī)制 6
1.4 搭建JDK環(huán)境 6
1.5 配置環(huán)境變量 10
1.6 “第 一個(gè)”Java程序 14
1.7 集成開發(fā)環(huán)境Eclipse 16
1.8 習(xí)題 20
第 2章 Java基本程序設(shè)計(jì)結(jié)構(gòu) 21
2.1 注釋 22
2.1.1 單行注釋 22
2.1.2 多行注釋 22
2.1.3 文檔注釋 22
2.2 標(biāo)識(shí)符 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 類實(shí)例的關(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 運(yùn)算符 33
2.7.1 算術(shù)運(yùn)算符 33
2.7.2 賦值運(yùn)算符 34
2.7.3 關(guān)系運(yùn)算符 34
2.7.4 邏輯運(yùn)算符 34
2.7.5 位運(yùn)算符 34
2.7.6 位移運(yùn)算符 35
2.7.7 其他運(yùn)算符 35
2.7.8 運(yùn)算符的優(yōu)先級(jí) 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 類與對(duì)象 54
3.3 屬性 55
3.4 方法 56
3.5 方法重載 58
3.6 構(gòu)造器 59
3.6.1 構(gòu)造器重載 60
3.6.2 默認(rèn)構(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 局部?jī)?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、默認(rèn) 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)先級(jí) 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)綁定和動(dòng)態(tài)綁定 96
4.4 習(xí)題 97
第5章 Java面向?qū)ο蟾呒?jí)特征 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 同時(shí)使用static和final 109
5.5 抽象 110
5.6 接口 112
5.6.1 接口的定義 112
5.6.2 接口的實(shí)現(xiàn) 113
5.6.3 一個(gè)類實(shí)現(xiàn)多個(gè)接口 114
5.6.4 一個(gè)接口繼承多個(gè)接口 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 無(wú)理數(shù)的寫法 126
6.4.2 三角函數(shù)的方法 126
6.4.3 取整運(yùn)算的方法 127
6.4.4 乘方、開方、對(duì)數(shù)的方法 127
6.4.5 其他方法 127
6.5 日期和時(shí)間相關(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 隨機(jī)類 136
6.8 正則表達(dá)式 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)語(yǔ)法 147
7.2.1 try和catch代碼塊 147
7.2.2 多個(gè)catch代碼塊 147
7.2.3 錯(cuò)誤和異常 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表達(dá)式 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表達(dá)式 167
8.3 函數(shù)式接口 168
8.3.1 基本概念 168
8.3.2 JDK 8的函數(shù)式接口 169
8.3.3 參數(shù)的類型推斷 172
8.3.4 多個(gè)參數(shù)的運(yùn)算 172
8.4 Lambda表達(dá)式的其他特性 174
8.4.1 使用局部變量 174
8.4.2 方法引用 176
8.4.3 構(gòu)造器引用 176
8.4.4 Lambda表達(dá)式與匿名內(nèi)部類的區(qū)別 176
8.5 習(xí)題 177
第9章 數(shù)據(jù)結(jié)構(gòu) 180
9.1 數(shù)組 180
9.2 棧 181
9.3 隊(duì)列 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章 項(xiàng)目開發(fā)與實(shí)現(xiàn)——五子棋程序 256
11.1 游戲說(shuō)明 256
11.1.1 游戲規(guī)則 256
11.1.2 編程注意事項(xiàng) 256
11.1.3 計(jì)算機(jī)下棋的策略 257
11.2 建立模型 257
11.3 輸出棋盤 258
11.4 放置棋子 260
11.5 計(jì)算機(jī)下棋策略 264
11.6 讀取用戶下棋的坐標(biāo) 265
11.7 判斷贏棋條件 267
11.8 程序主流程 269