注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當前位置: 首頁出版圖書科學技術計算機/網(wǎng)絡軟件與程序設計瘋狂Kotlin講義

瘋狂Kotlin講義

瘋狂Kotlin講義

定 價:¥69.00

作 者: 李剛 著
出版社: 電子工業(yè)出版社
叢編項:
標 簽: 編程語言與程序設計 計算機?網(wǎng)絡

ISBN: 9787121334597 出版時間: 2018-01-01 包裝: 平裝
開本: 16開 頁數(shù): 324 字數(shù):  

內(nèi)容簡介

  Kotlin是JetBrains在2011年推出的一門全新的編程語言,這門語言*早被設計成運行在JVM上――使用Kotlin編寫的程序會被編譯成字節(jié)碼文件,該字節(jié)碼文件可直接在JVM上運行(用java,命令運行)。目前Google已推薦使用Kotlin作為Android的官方開發(fā)語言,這意味著Kotlin將會在Android開發(fā)上大放異彩。本書全面介紹了Kotlin的語法。從各平臺上Kotlin程序的編譯、運行開始介紹,詳細介紹了Kotlin的基本語法,Kotlin的數(shù)組和集合,Kotlin函數(shù)式編程特征,Kotlin的面向對象編程、異常處理、泛型和注解,還介紹了Kotlin與Java混合調(diào)用的相關內(nèi)容,以及Kotlin反射相關內(nèi)容。本書對Kotlin的解讀十分系統(tǒng)、全面,超過Kotlin官方文檔本身覆蓋的內(nèi)容。本書很多地方都會結合Java字節(jié)碼進行深入解讀,比如對Kotlin擴展的解讀,對Kotlin主、次構造器的解讀,這種解讀目的不止于教會讀者簡單地掌握Kotlin的用法,而是力求讓讀者深入理解Kotlin,且更好地理解Java。簡單來說,本書不僅是一本Kotlin的學習圖書,而且也是一本能讓你更深入地理解Java的圖書。如果讀者在閱讀本書時遇到了技術問題,可以登錄瘋狂Java聯(lián)盟(http://www.crazyit.org)發(fā)帖,筆者將會及時予以解答。

作者簡介

  十多年的軟件開發(fā)從業(yè)經(jīng)驗,瘋狂軟件教育中心教學總監(jiān)。瘋狂Java實訓營創(chuàng)始人,瘋狂Java體系原創(chuàng)圖書作者。廣東技術師范學院計算機科學系的兼職副教授,51CTO專家門診特邀嘉賓。培訓的學生已在華為、IBM、阿里軟件、網(wǎng)易、電信盈科等名企就職。國內(nèi)著名高端IT技術作家,已出版《瘋狂Java講義》《瘋狂Android講義》《輕量級Java EE企業(yè)應用實戰(zhàn)》《瘋狂iOS講義(基礎篇)(高級篇)》《瘋狂 Swift講義》《瘋狂Ajax講義》《瘋狂XML講義》《經(jīng)典Java EE企業(yè)應用實戰(zhàn)》《Struts 2.x**指南》《瘋狂HTML 5/CSS 3/JavaScript講義》等著作。其 中瘋狂Java體系圖書均已沉淀多年、贏得極高的市場認同、多次重印成為超級暢銷圖書,并被多所“985”“211”高校選作教材,不少圖書已被翻譯成繁體中文版、 授權到臺灣地區(qū)。

圖書目錄

第1章 Kotlin語言與開發(fā)環(huán)境 1
1.1 Kotlin語言簡介 2
1.1.1 服務端的Kotlin 2
1.1.2 使用Kotlin開發(fā)Android應用 2
1.1.3 Kotlin用于JavaScript 3
1.2 使用命令行編譯、運行Kotlin 3
1.2.1 下載和安裝Kotlin的SDK 3
1.2.2 第一個Kotlin程序 4
1.2.3 編譯、運行Kotlin程序 5
1.3 使用IntelliJ IDEA編譯、運行Kotlin 6
1.4 使用Eclipse編譯、運行Kotlin 8
1.5 本章小結 10
第2章 Kotlin的基礎類型 11
2.1 注釋 12
2.1.1 單行注釋和多行注釋 12
2.1.2 文檔注釋 12
2.2 變量 14
2.2.1 分隔符 15
2.2.2 標識符規(guī)則 16
2.2.3 Kotlin的關鍵字 17
2.2.4 聲明變量 19
2.3 整型 21
2.4 浮點型 23
2.5 字符型 24
2.6 數(shù)值型之間的類型轉換 25
2.6.1 整型之間的轉換 25
2.6.2 浮點型與整型之間的轉換 28
2.6.3 表達式類型的自動提升 28
2.7 Boolean類型 30
2.8 null安全 31
2.8.1 非空類型和可空類型 31
2.8.2 先判斷后使用 32
2.8.3 安全調(diào)用 32
2.8.4 Elvis運算 33
2.8.5 強制調(diào)用 34
2.9 字符串 34
2.9.1 字符串類型 34
2.9.2 字符串模板 35
2.9.3 Kotlin字符串的方法 36
2.10 類型別名 37
2.11 本章小結 38
第3章 運算符和表達式 39
3.1 與Java相同的運算符 40
3.1.1 單目前綴運算符 40
3.1.2 自加和自減運算符 41
3.1.3 雙目算術運算符 41
3.1.4 in和!in運算符 42
3.1.5 索引訪問運算符 43
3.1.6 調(diào)用運算符 43
3.1.7 廣義賦值運算符 44
3.1.8 相等與不等運算符 44
3.1.9 比較運算符 45
3.2 位運算符 46
3.3 區(qū)間運算符 48
3.3.1 閉區(qū)間運算符 48
3.3.2 半開區(qū)間運算符 49
3.3.3 反向區(qū)間 49
3.3.4 區(qū)間步長 49
3.4 運算符重載 50
3.4.1 重載單目前綴運算符 50
3.4.2 重載自加和自減運算符 51
3.4.3 重載雙目算術運算符 51
3.5 本章小結 52
第4章 流程控制 53
4.1 順序結構 54
4.2 分支結構 54
4.2.1 if分支 54
4.2.2 if表達式 58
4.2.3 when分支語句 58
4.2.4 when表達式 61
4.2.5 when分支處理范圍 62
4.2.6 when分支處理類型 62
4.2.7 when條件分支 63
4.3 循環(huán)結構 63
4.3.1 while循環(huán) 64
4.3.2 do while循環(huán) 65
4.3.3 for-in循環(huán) 66
4.3.4 嵌套循環(huán) 66
4.4 控制循環(huán)結構 68
4.4.1 使用break結束循環(huán) 68
4.4.2 使用continue忽略本次循環(huán)的
剩下語句 69
4.4.3 使用return結束方法 70
4.5 本章小結 71
第5章 數(shù)組和集合 72
5.1 數(shù)組 73
5.1.1 創(chuàng)建數(shù)組 73
5.1.2 使用數(shù)組 75
5.1.3 使用for-in循環(huán)遍歷數(shù)組 76
5.1.4 使用數(shù)組索引 76
5.1.5 數(shù)組的常用方法 77
5.1.6 多維數(shù)組 80
5.1.7 數(shù)組的應用舉例 82
5.2 Kotlin集合概述 85
5.3 Set集合 88
5.3.1 聲明和創(chuàng)建Set集合 88
5.3.2 使用Set的方法 90
5.3.3 遍歷Set 91
5.3.4 可變的Set 92
5.4 List集合 93
5.4.1 聲明和創(chuàng)建List集合 93
5.4.2 使用List的方法 94
5.4.3 可變的List 95
5.5 Map集合 95
5.5.1 聲明和創(chuàng)建Map集合 95
5.5.2 使用Map的方法 97
5.5.3 遍歷Map 98
5.5.4 可變的Map 98
5.6 本章小結 99
第6章 函數(shù)和Lambda表達式 100
6.1 函數(shù)入門 101
6.1.1 定義和調(diào)用函數(shù) 101
6.1.2 函數(shù)返回值和Unit 102
6.1.3 遞歸函數(shù) 103
6.1.4 單表達式函數(shù) 104
6.2 函數(shù)的形參 105
6.2.1 命名參數(shù) 105
6.2.2 形參默認值 106
6.2.3 尾遞歸函數(shù) 108
6.2.4 個數(shù)可變的形參 109
6.3 函數(shù)重載 110
6.4 局部函數(shù) 111
6.5 高階函數(shù) 112
6.5.1 使用函數(shù)類型 112
6.5.2 使用函數(shù)類型作為形參類型 113
6.5.3 使用函數(shù)類型作為返回值類型 114
6.6 局部函數(shù)與Lambda表達式 115
6.6.1 回顧局部函數(shù) 116
6.6.2 使用Lambda表達式代替局部函數(shù) 116
6.6.3 Lambda表達式的脫離 117
6.7 Lambda表達式 117
6.7.1 調(diào)用Lambda表達式 118
6.7.2 利用上下文推斷類型 118
6.7.3 省略形參名 119
6.7.4 調(diào)用Lambda表達式的約定 120
6.7.5 個數(shù)可變的參數(shù)和Lambda參數(shù) 120
6.8 匿名函數(shù) 121
6.8.1 匿名函數(shù)的用法 121
6.8.2 匿名函數(shù)和Lambda表達式
的return 122
6.9 捕獲上下文中的變量和常量 123
6.10 內(nèi)聯(lián)函數(shù) 125
6.10.1 內(nèi)聯(lián)函數(shù)的使用 125
6.10.2 部分禁止內(nèi)聯(lián) 126
6.10.3 非局部返回 127
6.11 本章小結 128
第7章 面向對象(上) 129
7.1 類和對象 130
7.1.1 定義類 130
7.1.2 對象的產(chǎn)生和使用 132
7.1.3 對象的this引用 133
7.2 方法詳解 136
7.2.1 方法與函數(shù)的關系 136
7.2.2 中綴表示法 137
7.2.3 componentN方法與解構 138
7.2.4 數(shù)據(jù)類和返回多個值的函數(shù) 140
7.2.5 在Lambda表達式中解構 141
7.3 屬性和字段 142
7.3.1 讀寫屬性和只讀屬性 142
7.3.2 自定義getter和setter 144
7.3.3 幕后字段 147
7.3.4 幕后屬性 148
7.3.5 延遲初始化屬性 149
7.3.6 內(nèi)聯(lián)屬性 150
7.4 隱藏和封裝 151
7.4.1 包和導包 151
7.4.2 Kotlin的默認導入 153
7.4.3 使用訪問控制符 153
7.5 深入構造器 155
7.5.1 主構造器和初始化塊 156
7.5.2 次構造器和構造器重載 158
7.5.3 主構造器聲明屬性 161
7.6 類的繼承 161
7.6.1 繼承的語法 161
7.6.2 重寫父類的方法 164
7.6.3 重寫父類的屬性 166
7.6.4 super限定 167
7.6.5 強制重寫 168
7.7 多態(tài) 169
7.7.1 多態(tài)性 169
7.7.2 使用is檢查類型 170
7.7.3 使用as運算符轉型 172
7.8 本章小結 174
第8章 面向對象(下) 175
8.1 擴展 176
8.1.1 擴展方法 176
8.1.2 擴展的實現(xiàn)機制 179
8.1.3 為可空類型擴展方法 182
8.1.4 擴展屬性 182
8.1.5 以成員方式定義擴展 183
8.1.6 帶接收者的匿名函數(shù) 184
8.1.7 何時使用擴展 186
8.2 final和open修飾符 187
8.2.1 可執(zhí)行“宏替換”的常量 187
8.2.2 final屬性 188
8.2.3 final方法 189
8.2.4 final類 190
8.2.5 不可變類 190
8.3 抽象類 192
8.3.1 抽象成員和抽象類 192
8.3.2 抽象類的作用 195
8.3.3 密封類 196
8.4 接口 198
8.4.1 接口的定義 198
8.4.2 接口的繼承 199
8.4.3 使用接口 200
8.4.4 接口和抽象類 202
8.5 嵌套類和內(nèi)部類 202
8.5.1 內(nèi)部類 204
8.5.2 嵌套類 207
8.5.3 在外部類以外使用內(nèi)部類 209
8.5.4 在外部類以外使用嵌套類 209
8.5.5 局部嵌套類 210
8.5.6 匿名內(nèi)部類 211
8.6 對象表達式和對象聲明 212
8.6.1 對象表達式 212
8.6.2 對象聲明和單例模式 215
8.6.3 伴生對象和靜態(tài)成員 217
8.6.4 伴生對象的擴展 218
8.7 枚舉類 219
8.7.1 枚舉類入門 219
8.7.2 枚舉類的屬性、方法和構造器 221
8.7.3 實現(xiàn)接口的枚舉類 222
8.7.4 包含抽象方法的抽象枚舉類 222
8.8 類委托和屬性委托 223
8.8.1 類委托 224
8.8.2 屬性委托 225
8.8.3 延遲屬性 227
8.8.4 屬性監(jiān)聽 228
8.8.5 使用Map存儲屬性值 230
8.8.6 局部屬性委托 231
8.8.7 委托工廠 233
8.9 本章小結 234
第9章 異常處理 236
9.1 異常處理機制 237
9.1.1 使用try...catch捕獲異常 237
9.1.2 異常類的繼承體系 240
9.1.3 訪問異常信息 242
9.1.4 異常處理嵌套 243
9.1.5 try語句是表達式 243
9.2 使用throw拋出異常 243
9.2.1 拋出異常 243
9.2.2 自定義異常類 244
9.2.3 catch和throw同時使用 245
9.2.4 異常鏈 246
9.2.5 throw語句是表達式 247
9.3 異常的跟蹤棧 248
9.4 本章小結 250
第10章 泛型 251
10.1 泛型入門 252
10.1.1 定義泛型接口、類 252
10.1.2 從泛型類派生子類 253
10.2 型變 254
10.2.1 泛型型變的需要 254
10.2.2 聲明處型變 256
10.2.3 使用處型變:類型投影 258
10.2.4 星號投影 260
10.3 泛型函數(shù) 261
10.3.1 泛型函數(shù)的使用 261
10.3.2 具體化類型參數(shù) 262
10.4 設定類型形參的上限 263
10.5 本章小結 264
第11章 注解 266
11.1 Kotlin注解入門 267
11.1.1 定義注解 267
11.1.2 注解的屬性和構造器 268
11.2 元注解 270
11.2.1 使用@Retention 270
11.2.2 使用@Target 271
11.2.3 使用@MustBeDocumented 272
11.2.4 使用@Repeatable標記可重復注解 273
11.3 使用注解 273
11.3.1 提取注解信息 273
11.3.2 使用注解的示例 274
11.4 Java注解與Kotlin的兼容性 279
11.4.1 指定注解的作用目標 279
11.4.2 使用Java注解 281
11.5 本章小結 282
第12章 Kotlin與Java互相調(diào)用 283
12.1 Kotlin調(diào)用Java 284
12.1.1 屬性 284
12.1.2 void和調(diào)用名為關鍵字的成員 285
12.1.3 Kotlin的已映射類型 286
12.1.4 Kotlin對Java泛型的轉換 287
12.1.5 對Java數(shù)組的處理 287
12.1.6 調(diào)用參數(shù)個數(shù)可變的方法 288
12.1.7 checked異常 289
12.1.8 Object的處理 289
12.1.9 訪問靜態(tài)成員 290
12.1.10 SAM轉換 290
12.1.11 在Kotlin中使用JNI 291
12.2 Java調(diào)用Kotlin 291
12.2.1 屬性 291
12.2.2 包級函數(shù) 292
12.2.3 實例變量 294
12.2.4 類變量 294
12.2.5 類方法 296
12.2.6 訪問控制符的對應關系 297
12.2.7 獲取KClass 298
12.2.8 使用@JvmName解決簽名沖突 298
12.2.9 生成重載 299
12.2.10 checked異常 300
12.2.11 泛型的型變 300
12.3 Kotlin反射 302
12.3.1 類引用 302
12.3.2 從KClass獲取類信息 303
12.3.3 創(chuàng)建對象 306
12.3.4 構造器引用 306
12.3.5 調(diào)用方法 307
12.3.6 函數(shù)引用 308
12.3.7 訪問屬性值 309
12.3.8 屬性引用 311
12.3.9 綁定的方法與屬性引用 313
12.4 本章小結 313

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) m.ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網(wǎng)安備 42010302001612號