定 價:¥69.80
作 者: | 陳光劍 |
出版社: | 清華大學出版社 |
叢編項: | |
標 簽: | 暫缺 |
ISBN: | 9787302508724 | 出版時間: | 2018-08-01 | 包裝: | 平裝 |
開本: | 16開 | 頁數(shù): | 字數(shù): |
第1章 Kotlin是什么 1
1.1 初識Kotlin 1
1.2 語言特性 2
1.2.1 Kotlin與Java完全互操作 3
1.2.2 擴展函數(shù)與擴展屬性 4
1.2.3 不可空類型與空安全 5
1.2.4 一等函數(shù)支持 6
1.2.5 智能類型推斷 6
1.3 編程哲學 6
1.4 學習工具 7
1.4.1 云端IDE 7
1.4.2 命令行REPL 7
1.4.3 使用IDEA 8
1.5 為什么要學Kotlin 9
1.6 JVM語言生態(tài) 12
1.7 本章小結(jié) 16
第2章 Kotlin語法基礎 17
2.1 變量和標識符 17
2.2 關(guān)鍵字與修飾符 18
2.3 流程控制語句 21
2.3.1 if表達式 22
2.3.2 when表達式 23
2.3.3 for循環(huán) 24
2.3.4 while循環(huán) 25
2.3.5 break和continue 26
2.3.6 return返回 26
2.3.7 標簽(label) 29
2.3.8 throw表達式 30
2.4 操作符與重載 30
2.4.1 操作符優(yōu)先級 31
2.4.2 一元操作符 32
2.4.3 二元操作符 33
2.5 包聲明 38
2.6 本章小結(jié) 40
第3章 類型系統(tǒng)與可空類型 41
3.1 類型系統(tǒng) 41
3.1.1 類型系統(tǒng)的作用 41
3.1.2 Java類型系統(tǒng) 42
3.1.3 Kotlin類型系統(tǒng) 43
3.2 可空類型 45
3.3 安全操作符 46
3.3.1 安全調(diào)用符“?” 47
3.3.2 非空斷言“!!” 48
3.3.3 Elvis運算符“?:” 48
3.4 特殊類型 48
3.4.1 Unit類型 48
3.4.2 Nothing與Nothing?類型 49
3.4.3 Any與Any?類型 51
3.5 類型檢測與類型轉(zhuǎn)換 52
3.5.1 is運算符 52
3.5.2 類型自動轉(zhuǎn)換 53
3.5.3 as運算符 54
3.6 本章小結(jié) 54
第4章 類與面向?qū)ο缶幊?nbsp; 55
4.1 面向?qū)ο缶幊毯喪?nbsp; 55
4.2 聲明類 58
4.2.1 空類 58
4.2.2 聲明類和構(gòu)造函數(shù) 58
4.3 抽象類與接口 61
4.3.1 抽象類與抽象成員 62
4.3.2 接口 64
4.4 object對象 65
4.5 數(shù)據(jù)類 66
4.5.1 創(chuàng)建數(shù)據(jù)類 66
4.5.2 數(shù)據(jù)類自動創(chuàng)建的函數(shù) 69
4.5.3 數(shù)據(jù)類的語法限制 69
4.5.4 Pair和Triple 69
4.6 注解 70
4.7 枚舉 72
4.8 內(nèi)部類 73
4.8.1 普通嵌套類 73
4.8.2 嵌套內(nèi)部類 74
4.8.3 匿名內(nèi)部類 74
4.9 本章小結(jié) 75
第5章 函數(shù)與函數(shù)式編程 76
5.1 函數(shù)式編程簡介 77
5.2 聲明函數(shù) 77
5.3 Lambda表達式 78
5.4 高階函數(shù) 79
5.5 Kotlin中的特殊函數(shù) 80
5.5.1 run()函數(shù) 80
5.5.2 apply()函數(shù) 81
5.5.3 let()函數(shù) 82
5.5.4 also()函數(shù) 83
5.5.5 with()函數(shù) 83
5.6 本章小結(jié) 84
第6章 擴展函數(shù)與屬性 85
6.1 擴展函數(shù) 86
6.1.1 給String類擴展兩個函數(shù) 86
6.1.2 給List類擴展一個過濾函數(shù) 87
6.2 擴展屬性 89
6.3 擴展的實現(xiàn)原理 90
6.4 擴展中的this關(guān)鍵字 91
6.5 本章小結(jié) 91
第7章 集合類 92
7.1 集合類概述 92
7.1.1 常用的3種集合類 92
7.1.2 Kotlin集合類繼承層次 93
7.2 不可變集合類 94
7.3 創(chuàng)建集合類 95
7.4 遍歷集合中的元素 97
7.5 映射函數(shù) 98
7.6 過濾函數(shù) 99
7.7 排序函數(shù) 100
7.8 元素去重 101
7.9 本章小結(jié) 101
第8章 泛型 102
8.1 為何引入泛型 102
8.2 在類、接口和函數(shù)上使用泛型 104
8.2.1 泛型接口 104
8.2.2 泛型類 105
8.2.3 泛型函數(shù) 106
8.3 類型上界 106
8.4 協(xié)變與逆變 106
8.4.1 協(xié)變 108
8.4.2 逆變 111
8.4.3 PECS 111
8.5 out T與in T 112
8.6 類型擦除 112
8.7 本章小結(jié) 113
第9章 文件I/O操作、正則表達式與多線程 114
9.1 文件I/O操作 114
9.1.1 讀文件 115
9.1.2 寫文件 116
9.1.3 遍歷文件樹 117
9.2 網(wǎng)絡I/O 118
9.3 執(zhí)行Shell命令 119
9.4 正則表達式 120
9.4.1 構(gòu)造Regex表達式 120
9.4.2 Regex函數(shù) 120
9.4.3 使用Java的正則表達式類 123
9.5 多線程編程 123
9.5.1 創(chuàng)建線程 123
9.5.2 同步方法和塊 125
9.5.3 可變字段 125
9.6 本章小結(jié) 126
第10章 使用Kotlin創(chuàng)建DSL 127
10.1 什么是DSL 127
10.1.1 內(nèi)部DSL 128
10.1.2 外部DSL 128
10.2 Kotlin的DSL特性支持 129
10.3 實現(xiàn)集合類的流式Kotlin DSL 130
10.4 實現(xiàn)一個SQL風格的集合類 131
10.5 本章小結(jié) 133
第11章 運算符重載與約定 134
11.1 什么是運算符重載 134
11.2 重載二元算術(shù)運算符 137
11.3 重載自增自減一元運算符 139
11.4 重載比較運算符 141
11.5 重載計算賦值運算符 143
11.6 本章小結(jié) 144
第12章 元編程、注解與反射 145
12.1 元編程簡介 145
12.2 注解 146
12.2.1 聲明注解 146
12.2.2 使用注解 147
12.2.3 處理注解 149
12.3 反射 151
12.3.1 類引用 152
12.3.2 函數(shù)引用 153
12.3.3 屬性引用 153
12.3.4 綁定函數(shù)和屬性引用 154
12.4 使用反射獲取泛型信息 154
12.5 本章小結(jié) 158
第13章 Kotlin集成Spring Boot服務端開發(fā) 159
13.1 用Spring Boot快速開發(fā)Restful Hello World 159
13.1.1 Spring Initializr 159
13.1.2 創(chuàng)建Spring Boot項目 160
13.2 系統(tǒng)功能與技術(shù)棧 167
13.3 準備工作 167
13.4 配置數(shù)據(jù)層 170
13.5 數(shù)據(jù)持久層開發(fā) 170
13.5.1 數(shù)據(jù)庫表結(jié)構(gòu) 170
13.5.2 配置JPA 171
13.6 JSON數(shù)據(jù)解析 175
13.7 數(shù)據(jù)入庫邏輯實現(xiàn) 176
13.8 定時調(diào)度任務 177
13.9 HTTP接口開發(fā) 178
13.9.1 實現(xiàn)分頁查詢接口 178
13.9.2 @Query注解與 #{#entityName} 179
13.9.3 Pageable與Page 180
13.10 視圖模板開發(fā) 184
13.10.1 前端代碼結(jié)構(gòu) 185
13.10.2 實現(xiàn)后端分頁 187
13.10.3 實現(xiàn)收藏和刪除圖片的功能 191
13.10.4 搜索關(guān)鍵字管理 194
13.10.5 使用協(xié)程實現(xiàn)異步爬蟲任務 200
13.10.6 圖片存入數(shù)據(jù)庫并在前端展現(xiàn) 201
13.11 本章小結(jié) 203
第14章 使用Kotlin進行Android開發(fā) 204
14.1 快速開發(fā)Hello World 205
14.1.1 準備工作 205
14.1.2 創(chuàng)建基于Kotlin的Android項目 207
14.1.3 工程目錄文件說明 210
14.1.4 安裝運行 213
14.2 綜合項目實戰(zhàn):開發(fā)一個電影指南應用程序 214
14.2.1 創(chuàng)建 Kotlin Android 項目 214
14.2.2 啟動主類ItemListActivity 219
14.2.3 AppCompatActivity類介紹 222
14.2.4 Activity生命周期 224
14.2.5 Kotlin Android Extensions插件 226
14.2.6 詳情頁ItemDetailActivity 231
14.2.7 碎片事務類FragmentTransaction 235
14.2.8 Fragment 生命周期 239
14.2.9 測試數(shù)據(jù)類DummyContent 244
14.2.10 創(chuàng)建領(lǐng)域?qū)ο箢怣ovie 244
14.2.11 JSON數(shù)據(jù)解析 245
14.2.12 電影列表頁面 246
14.2.13 視圖數(shù)據(jù)適配器ViewAdapter 250
14.2.14 視圖中圖像的展示 251
14.2.15 電影詳情頁面 253
14.2.16 電影源數(shù)據(jù)的獲取 257
14.2.17 配置 AndroidManifest.xml 259
14.2.18 打包安裝測試 259
14.3 本章小結(jié) 260