Kotlin從基礎到實戰

Kotlin從基礎到實戰

《Kotlin從基礎到實戰》是2019年3月人民郵電出版社出版的圖書,作者是黑馬程式設計師。

基本介紹

  • 中文名:Kotlin從基礎到實戰
  • 作者:黑馬程式設計師
  • 出版社:人民郵電出版社
  • 出版時間:2019年3月
  • 頁數:284 頁
  • 定價:59.8 元
  • 開本:16 開
  • 裝幀:平裝
  • ISBN:9787115494405
內容簡介,圖書目錄,

內容簡介

本書從初學者的角度詳細講解了Kotlin開發中常用的多種技術。全書共13章,內容包括Kotlin入門、Kotlin編程基礎、函式、面向對象、集合、lambda編程、泛型、Gradle、協程、“坦克大戰”遊戲開發、DSL、Kotlin與Java互操作、時鐘。
本書通過典型的案例、通俗易懂的語言闡述面向對象中的抽象概念,在集合、Lambda編程、泛型、Gradle、協程等章節中,通過剖析案例、分析代碼結構、解決常見問題等方式,幫助初學者培養良好的編程習慣。第10章運用前幾章的基礎知識實現了一個坦克大戰的遊戲案例開發。第11~13章分別介紹了DSL、Kotlin與Java進行互操作以及通過Kotlin語言實現一個JavaScript語言的時鐘項目,幫助初學者掌握Kotlin語言與Java語言、JavaScript語言的互操作。
本書既可作為高等院校本、專科計算機相關專業的教材,也可作為社會培訓教材,是一本適合廣大編程愛好者參考和學習的書籍。為了幫助編程者更好地學習本書中的內容,本書還提供了配套的原始碼與視頻等資源,方便讀者學習。

圖書目錄

第 1章 Kotlin入門 1
1.1 Kotlin簡介 1
1.1.1 Kotlin的前景 1
1.1.2 Kotlin的特性 2
1.2 Kotlin開發環境搭建 3
1.2.1 Kotlin常用開發工具 3
1.2.2 IntelliJ IDEA的安裝 3
1.3 開發第 一個Kotlin程式 6
1.4 本章小結 10
第 2章 Kotlin編程基礎 11
2.1 Kotlin的基本語法 11
2.1.1 Kotlin代碼的基本格式 11
2.1.2 Kotlin中的注釋 12
2.2 Kotlin中的變數 13
2.2.1 變數的定義 13
2.2.2 變數的數據類型 14
2.3 運算符 16
2.3.1 算術運算符 16
2.3.2 賦值運算符 17
2.3.3 比較運算符 18
2.3.4 邏輯運算符 18
2.4 字元串 19
2.4.1 字元串的定義 19
2.4.2 字元串的常見操作 20
2.5 選擇結構語句 25
2.5.1 if條件語句 26
2.5.2 when條件語句 30
2.6 循環結構語句 32
2.6.1 while循環語句 32
2.6.2 do...while循環語句 33
2.6.3 for循環語句 34
2.6.4 循環嵌套 35
2.6.5 forEach循環語句 36
2.6.6 跳轉語句(continue、break) 37
2.7 區間 39
2.7.1 正向區間 39
2.7.2 逆向區間 40
2.7.3 步長 40
2.8 數組 41
2.8.1 數組的定義 41
2.8.2 數組的常見操作 43
2.9 變數的類型轉換 47
2.9.1 類型檢查 47
2.9.2 智慧型類型轉換 47
2.9.3 強制類型轉換 48
2.10 空值處理 49
2.10.1 可空類型變數( ) 49
2.10.2 安全調用符( .) 50
2.10.3 Elvis操作符( :) 50
2.10.4 非空斷言(!!.) 51
2.11 本章小結 52
第3章 函式 53
3.1 函式的介紹 53
3.1.1 函式的定義 53
3.1.2 函式的類型 54
3.1.3 單表達式函式 55
3.1.4 函式的參數 56
3.2 函式的分類 59
3.2.1 頂層函式 59
3.2.2 成員函式 60
3.2.3 局部函式 61
3.2.4 遞歸函式 62
3.2.5 尾遞歸函式 62
3.2.6 函式重載 64
3.3 本章小結 65
第4章 面向對象 66
4.1 面向對象的概念 66
4.2 類與對象 67
4.2.1 類的定義 67
4.2.2 對象的創建 67
4.2.3 類的封裝 68
4.3 構造函式 69
4.3.1 主構函式 70
4.3.2 this關鍵字 70
4.3.3 次構函式 71
4.4 類的繼承 72
4.4.1 類的繼承 72
4.4.2 方法重寫 73
4.4.3 super關鍵字 74
4.5 抽象類和接口 76
4.5.1 抽象類 76
4.5.2 接口 77
4.6 常見類 79
4.6.1 嵌套類 79
4.6.2 內部類 80
4.6.3 枚舉類 80
4.6.4 密封類 81
4.6.5 數據類 82
4.6.6 單例模式 82
4.6.7 伴生對象 83
4.7 委託 84
4.7.1 類委託 84
4.7.2 屬性委託 85
4.7.3 延遲載入 87
4.8 異常 87
4.8.1 什麼是異常 87
4.8.2 try...catch和finally 88
4.8.3 throw關鍵字 91
4.8.4 受檢異常 92
4.8.5 自定義異常 93
4.9 本章小結 95
第5章 集合 96
5.1 集合概述 96
5.2 List接口 98
5.2.1 List接口簡介 98
5.2.2 不可變List 98
5.2.3 可變MutableList 101
5.3 Set接口 104
5.3.1 Set接口簡介 104
5.3.2 不可變Set 104
5.3.3 可變MutableSet 106
5.4 Map接口 107
5.4.1 Map接口簡介 107
5.4.2 不可變Map 107
5.4.3 可變MutableMap 109
5.5 本章小結 110
第6章 Lambda編程 111
6.1 Lambda表達式入門 111
6.1.1 Lambda表達式簡介 111
6.1.2 Lambda表達式返回值 113
6.2 高階函式的使用 114
6.2.1 函式作為參數使用 115
6.2.2 函式作為參數最佳化 115
6.2.3 函式作為返回值 118
6.3 標準庫中的高階函式 119
6.3.1 高階函式操作集合 119
6.3.2 標準庫中的高階函式 123
6.4 內聯函式 127
6.4.1 使用內聯函式 127
6.4.2 禁用內聯函式 128
6.5 本章小結 128
第7章 泛型 129
7.1 泛型的定義 129
7.2 泛型的分類 130
7.2.1 泛型類 130
7.2.2 泛型接口 131
7.2.3 泛型方法 132
7.3 泛型約束 133
7.3.1 泛型約束的必要性 133
7.3.2 泛型約束 134
7.4 子類和子類型 136
7.4.1 繼承與子類型 136
7.4.2 接口與子類型 137
7.4.3 可空類型的子類型 137
7.5 協變與逆變 139
7.5.1 協變 139
7.5.2 逆變 140
7.5.3 點變型 141
7.6 泛型擦除與實化類型 142
7.6.1 泛型擦除 142
7.6.2 泛型通配符 143
7.6.3 實化類型 144
7.7 本章小結 145
第8章 Gradle 146
8.1 Gradle簡介 146
8.2 Gradle程式 147
8.2.1 第 一個Gradle程式 147
8.2.2 Java代碼與Kotlin代碼共存 152
8.3 Gradle的任務 153
8.3.1 Gradle中的project和task 153
8.3.2 Gradle任務的依賴 154
8.3.3 Gradle任務的生命周期 155
8.3.4 Gradle任務集 157
8.3.5 Gradle默認屬性和任務 158
8.3.6 Gradle增量式更新任務 160
8.4 Gradle的依賴 162
8.4.1 Gradle的依賴包管理 162
8.4.2 公共倉庫和依賴配置 162
8.5 Gradle擴展 164
8.5.1 Gradle外掛程式自定義擴展 164
8.5.2 Gradle調用外部擴展 165
8.6 本章小結 167
第9章 協程 168
9.1 協程簡介 168
9.1.1 協程概述 168
9.1.2 協程的定義 169
9.1.3 執行緒與協程實現對比 169
9.2 協程的基本操作 171
9.2.1 協程掛起 171
9.2.2 掛起函式 172
9.2.3 主協程 172
9.2.4 協程中的Job任務 173
9.2.5 普通執行緒和守護執行緒 175
9.2.6 執行緒與協程效率對比 176
9.3 協程取消 177
9.3.1 協程取消 177
9.3.2 協程取消失效 180
9.3.3 定時取消 181
9.3.4 掛起函式的執行順序 182
9.3.5 通過async啟動協程 183
9.3.6 協程上下文和調度器 184
9.3.7 父子協程 185
9.4 管道 186
9.4.1 管道簡介 186
9.4.2 管道的關閉 187
9.4.3 生產者與消費者 188
9.4.4 管道快取區 189
9.5 本章小結 190
第 10章 坦克大戰 191
10.1 項目介紹 191
10.1.1 項目概述 191
10.1.2 開發環境 191
10.1.3 效果展示 192
10.2 項目搭建 194
10.2.1 項目創建 194
10.2.2 添加遊戲引擎 194
10.3 窗體設計 196
10.4 繪製遊戲元素 198
10.4.1 繪製牆和草坪 198
10.4.2 繪製地圖 199
10.4.3 繪製我方坦克 201
10.5 我方坦克移動 204
10.5.1 坦克的移動 204
10.5.2 移動碰撞處理 205
10.6 子彈 209
10.6.1 繪製子彈 209
10.6.2 計運算元彈的位置 210
10.6.3 子彈飛行 213
10.6.4 銷毀脫離窗體的子彈 214
10.6.5 子彈的攻與受 216
10.6.6 爆炸物的顯示 220
10.7 敵方坦克 223
10.7.1 敵方坦克繪製 223
10.7.2 敵方坦克的移動 224
10.7.3 敵方坦克自動發射子彈 227
10.7.4 雙方坦克的相互傷害 229
10.8 大本營 232
10.8.1 繪製大本營 232
10.8.2 實現大本營特性 234
10.9 遊戲結束與打包 236
10.9.1 遊戲的結束 236
10.9.2 Gradle打包遊戲 240
10.10 本章小結 242
第 11章 DSL 243
11.1 DSL簡介 243
11.1.1 DSL概述 243
11.1.2 DSL程式 244
11.2 DSL的使用 246
11.2.1 列印簡單的HTML標籤 246
11.2.2 列印複雜的HTML標籤 247
11.3 Anko外掛程式 249
11.4 本章小結 250
第 12章 Kotlin與Java互
操作 251
12.1 在Kotlin中調用Java 251
12.1.1 調用Java中的getter/setter方法 251
12.1.2 調用Java中的@NotNull註解 252
12.1.3 調用Java中的靜態成員 253
12.1.4 SAM轉換 254
12.2 在Java中調用Kotlin 255
12.2.1 調用Kotlin中的包級函式 255
12.2.2 調用Kotlin中的實例欄位 256
12.2.3 調用Kotlin中的靜態欄位和
方法 257
12.2.4 調用Kotlin中的集合類 258
12.2.5 顯式申明Kotlin中的異常 259
12.2.6 關鍵字衝突的互操作 260
12.3 Kotlin與Java中的操作
對比 261
12.3.1 語法格式對比 261
12.3.2 異常檢查對比 263
12.3.3 可變參數對比 264
12.3.4 類的class對象對比 265
12.3.5 成員控制許可權對比 266
12.3.6 默認參數函式對比 267
12.4 本章小結 268
第 13章 時鐘 269
13.1 時鐘項目簡介 269
13.1.1 項目概述 269
13.1.2 開發環境 269
13.2 創建時鐘項目 270
13.2.1 創建項目 270
13.2.2 初始化畫布 271
13.3 繪製基本元素 273
13.3.1 繪製直線、三角形、矩形 273
13.3.2 繪製圓形 275
13.3.3 填充圖形 276
13.3.4 繪製文本 277
13.4 繪製時鐘 277
13.4.1 繪製時鐘的圓環 277
13.4.2 繪製60個圓點 278
13.4.3 繪製時鐘的數字 279
13.4.4 繪製時鐘的指針 280
13.4.5 設定當前時間 283
13.5 本章小結 284

相關詞條

熱門詞條

聯絡我們