|
-- 會員 / 註冊 --
|
|
|
|
Kotlin編程權威指南 ( 簡體 字) |
作者:[美] 喬希·斯基恩(Josh Skeen),[美] 戴維·格林哈爾希(David Greenhalgh) | 類別:1. -> 程式設計 -> 手機程式 -> Kotlin |
譯者: |
出版社:人民郵電出版社 | 3dWoo書號: 51650 詢問書籍請說出此書號!【缺書】 NT售價: 495 元 |
出版日:8/1/2019 |
頁數:322 |
光碟數:0 |
|
站長推薦: |
印刷:黑白印刷 | 語系: ( 簡體 版 ) |
|
加入購物車 │加到我的最愛 (請先登入會員) |
ISBN:9787115515636 |
作者序 | 譯者序 | 前言 | 內容簡介 | 目錄 | 序 |
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證) |
作者序: |
譯者序: |
前言: |
內容簡介:本書由知名技術培訓機構Big Nerd Ranch打造,秉承其一貫的簡潔、實用的寫作風格。Kotlin已成為Android官方支持的開發語言,但它具有平臺獨立性,亦可用于開發各種類型的原生應用。本書將帶領你通過搭建書中的示例項目來循序漸進地掌握Kotlin 的用法。首先使用IntelliJ IDEA搭建沙盒項目,幫助你熟悉開發環境。接下來介紹Kotlin編程知識,從較為基礎的變量、常量、類型等講起,逐漸深入到繼承、對象和抽象類。最后是函數式編程、Kotlin與Java互操作、構建Android應用等較復雜的內容。多章配有習題,幫你溫故知新,鞏固所學知識。 |
目錄:第 1章 Kotlin應用開發初體驗 1 1.1 安裝IntelliJ IDEA 1 1.2 第 一個Kotlin項目 2 1.2.1 創建首個Kotlin文件 5 1.2.2 運行Kotlin文件 7 1.3 Kotlin REPL 8 1.4 深入學習:為什么要用IntelliJ 10 1.5 深入學習:面向JVM 10 1.6 挑戰練習:使用REPL研究Kotlin中的算數運算符 11 第 2章 變量、常量和類型 12 2.1 數據類型 12 2.2 聲明變量 12 2.3 Kotlin的內置數據類型 14 2.4 只讀變量 15 2.5 類型推斷 17 2.6 編譯時常量 19 2.7 查看Kotlin字節碼 19 2.8 深入學習:Kotlin中的Java基本數據類型 21 2.9 挑戰練習:定義hasSteed變量 22 2.10 挑戰練習:獨角獸之角 22 2.11 挑戰練習:魔鏡 23 第3章 條件語句 24 3.1 if/else語句 24 3.1.1 添加更多條件 27 3.1.2 if/else嵌套語句 28 3.1.3 更優雅的條件語句 29 3.2 range 33 3.3 when表達式 34 3.4 string模板 36 3.5 挑戰練習:range 研究 37 3.6 挑戰練習:優化玩家光環展示 38 3.7 挑戰練習:可配置的玩家狀況報告格式 38 第4章 函數 40 4.1 使用函數重構代碼 40 4.2 函數結構剖析 42 4.2.1 函數頭 42 4.2.2 函數體 44 4.2.3 函數作用域 45 4.3 調用函數 46 4.4 以函數重構代碼 46 4.5 自定義函數 48 4.6 默認值參 49 4.7 單表達式函數 50 4.8 Unit函數 51 4.9 具名函數參數 52 4.10 深入學習:Nothing類型 53 4.11 深入學習:Java中的文件級函數 54 4.12 深入學習:函數重載 55 4.13 深入學習:反引號中的函數名 56 4.14 挑戰練習:單表達式函數 57 4.15 挑戰練習:Fireball醉酒程度 57 4.16 挑戰練習:醉酒狀態報告 57 第5章 匿名函數與函數類型 58 5.1 匿名函數 58 5.1.1 函數類型 59 5.1.2 隱式返回 60 5.1.3 函數參數 61 5.1.4 it關鍵字 61 5.1.5 多個參數 62 5.2 類型推斷 63 5.3 定義參數是函數的函數 63 5.4 函數內聯 65 5.5 函數引用 66 5.6 函數類型作為返回類型 68 5.7 深入學習:Kotlin中的lambda就是閉包 69 5.8 深入學習:lambda與匿名內部類 69 第6章 null安全與異常 71 6.1 可空性 71 6.2 Kotlin的null類型 72 6.3 編譯時間與運行時間 73 6.4 null安全 74 6.4.1 選項一:安全調用操作符 75 6.4.2 選項二:使用!!.操作符 76 6.4.3 選項三:使用if判斷null值情況 77 6.5 異常 79 6.5.1 拋出異常 80 6.5.2 自定義異常 81 6.5.3 處理異常 82 6.6 先決條件函數 83 6.7 null:真的一無是處嗎 85 6.8 深入學習:已檢查異常與未檢查異常 86 6.9 深入學習:可空性該如何保證 86 第7章 字符串 88 7.1 字符串截取 88 7.1.1 substring 88 7.1.2 split 90 7.2 字符串操作 92 7.3 字符串比較 93 7.4 深入學習:Unicode 95 7.5 深入學習:遍歷字符 95 7.6 挑戰練習:改進toDragonSpeak函數 96 第8章 數 97 8.1 數字類型 97 8.2 整數 98 8.3 小數數字 99 8.4 字符串轉數值類型 100 8.5 Int類型轉Double類型 101 8.6 Double類型格式化 102 8.7 Double類型轉換為Int類型 103 8.8 深入學習:位運算 104 8.9 挑戰練習:還剩多少酒 105 8.10 挑戰練習:解決負數余額問題 105 8.11 挑戰練習:龍幣 105 第9章 標準庫函數 106 9.1 apply 106 9.2 let 107 9.3 run 108 9.4 with 109 9.5 also 109 9.6 takeIf 110 9.7 使用標準庫函數 110 第 10章 List與Set 112 10.1 List 112 10.1.1 獲取列表元素 113 10.1.2 更改列表內容 116 10.2 遍歷 119 10.3 將文件數據讀取到列表 122 10.4 解構 124 10.5 Set 124 10.5.1 創建一個Set集合 124 10.5.2 向Set集合中添加元素 125 10.6 while循環 128 10.7 break表達式 129 10.8 集合轉換 129 10.9 深入學習:數組類型 130 10.10 深入學習:只讀與不可變 131 10.11 挑戰練習:美化酒水單 132 10.12 挑戰練習:進一步美化酒水單 132 第 11章 Map 133 11.1 創建一個Map 133 11.2 讀取Map集合的值 135 11.3 向Map集合添加項 136 11.4 修改Map集合值 137 11.5 挑戰練習:守衛小客棧 140 第 12章 定義類 141 12.1 定義一個類 141 12.2 構造實例 141 12.3 類函數 142 12.4 可見性與封裝 143 12.5 類屬性 144 12.5.1 屬性getter與setter 146 12.5.2 屬性可見性 148 12.5.3 計算屬性 149 12.6 重構NyetHack 149 12.7 使用包 156 12.8 深入學習:細看var與val屬性 157 12.9 深入學習:防范競態條件 160 12.10 深入學習:私有包 161 第 13章 初始化 162 13.1 構造函數 162 13.1.1 主構造函數 163 13.1.2 在主構造函數里定義屬性 164 13.1.3 次構造函數 164 13.1.4 默認參數 166 13.1.5 命名參數 167 13.2 初始化塊 167 13.3 屬性初始化 168 13.4 初始化順序 170 13.5 延遲初始化 172 13.5.1 延遲初始化 172 13.5.2 惰性初始化 173 13.6 深入學習:初始化陷阱 174 13.7 挑戰練習:圣劍之謎 176 第 14章 繼承 178 14.1 定義Room類 178 14.2 創建子類 179 14.3 類型檢測 184 14.4 Kotlin類層次 186 14.4.1 類型轉換 187 14.4.2 智能類型轉換 188 14.5 深入學習:Any 189 第 15章 對象 190 15.1 object關鍵字 190 15.1.1 對象聲明 190 15.1.2 對象表達式 195 15.1.3 伴生對象 195 15.2 嵌套類 196 15.3 數據類 199 15.3.1 toString 200 15.3.2 equals 200 15.3.3 copy 200 15.3.4 解構聲明 201 15.4 枚舉類 202 15.5 運算符重載 203 15.6 探索NyetHack游戲世界 205 15.7 深入學習:定義結構比較 208 15.8 深入學習:代數數據類型 210 15.9 挑戰練習:“quit”命令 211 15.10 挑戰練習:魔力地圖 212 15.11 挑戰練習:搖鈴 212 第 16章 接口與抽象類 213 16.1 定義接口 213 16.2 實現接口 214 16.3 默認實現 216 16.4 抽象類 217 16.5 在NyetHack 游戲里打怪 219 第 17章 泛型 223 17.1 定義泛型類 223 17.2 泛型函數 224 17.3 多泛型參數 225 17.4 泛型約束 227 17.5 vararg關鍵字與get函數 228 17.6 in與out 230 17.7 深入學習:reified關鍵字 234 第 18章 擴展 236 18.1 定義擴展函數 236 18.2 泛型擴展函數 237 18.3 擴展屬性 239 18.4 可空類擴展 240 18.5 擴展實現揭秘 241 18.6 用擴展封裝代碼 241 18.7 定義擴展文件 243 18.8 重命名擴展 245 18.9 Kotlin標準庫中的擴展 245 18.10 深入學習:帶接收者的函數字面量 246 18.11 挑戰練習:toDragonSpeak擴展 247 18.12 挑戰練習:frame擴展 247 第 19章 函數式編程基礎 248 19.1 函數類別 248 19.1.1 變換 248 19.1.2 過濾 250 19.1.3 合并 251 19.2 為什么要學習函數式編程 252 19.3 序列 253 19.4 深入學習:評估代碼性能 254 19.5 深入學習:Arrow.kt 255 19.6 挑戰練習:Map值反轉 255 19.7 挑戰練習:應用函數式編程 256 19.8 挑戰練習:滑窗算法 257 第 20章 Kotlin與Java互操作 258 20.1 與Java類互操作 258 20.2 互操作性與可空性 259 20.3 類型映射 262 20.4 getter和setter方法與互操作性 263 20.5 類之外 265 20.6 異常與互操作性 272 20.7 Java中的函數類型 275 第 21章 用Kotlin開發首個Android應用 277 21.1 Android Studio 277 21.1.1 Gradle配置 281 21.1.2 項目組織 283 21.2 定義UI 283 21.3 用模擬器運行應用 286 21.4 生成角色 287 21.5 Activity類 288 21.6 實例化視圖 289 21.7 Kotlin Android擴展 291 21.8 設置單擊事件監聽器 293 21.9 保存實例狀態 294 21.10 使用擴展重構代碼 296 21.11 深入學習:Android KTX與Anko庫 298 第 22章 Kotlin協程簡介 300 22.1 解析角色數據 300 22.2 獲取動態數據 302 22.3 Android主線程 305 22.4 啟用協程 305 22.5 使用async指定協程 305 22.6 launch與async/await 307 22.7 掛起函數 307 22.8 挑戰練習:動態數據 308 22.9 挑戰練習:最小力量值 308 第 23章 編后語 309 23.1 前方的路 309 23.2 插個廣告 309 23.3 致謝 309 附錄A 補充挑戰練習 310 術語表 316 |
序: |
|