| | | Kotlin從入門到進階實戰 | 該商品所屬分類:計算機/網絡 -> 程序設計 | 【市場價】 | 593-860元 | 【優惠價】 | 371-538元 | 【介質】 | book | 【ISBN】 | 9787302508724 | 【折扣說明】 | 一次購物滿999元台幣免運費+贈品 一次購物滿2000元台幣95折+免運費+贈品 一次購物滿3000元台幣92折+免運費+贈品 一次購物滿4000元台幣88折+免運費+贈品
| 【本期贈品】 | ①優質無紡布環保袋,做工棒!②品牌簽字筆 ③品牌手帕紙巾
| |
版本 | 正版全新電子版PDF檔 | 您已选择: | 正版全新 | 溫馨提示:如果有多種選項,請先選擇再點擊加入購物車。*. 電子圖書價格是0.69折,例如了得網價格是100元,電子書pdf的價格則是69元。 *. 購買電子書不支持貨到付款,購買時選擇atm或者超商、PayPal付款。付款後1-24小時內通過郵件傳輸給您。 *. 如果收到的電子書不滿意,可以聯絡我們退款。謝謝。 | | | | 內容介紹 | |
-
出版社:清華大學
-
ISBN:9787302508724
-
作者:編者:陳光劍
-
頁數:260
-
出版日期:2018-09-01
-
印刷日期:2018-09-01
-
包裝:平裝
-
開本:16開
-
版次:1
-
印次:1
-
字數:428千字
-
-
\"《Kotlin從入門到進階實戰》是阿裡巴巴**程序員嘔心瀝血之作,揭秘Kotlin編程的精華
《Kotlin從入門到進階實戰》全面涵蓋Kotlin基礎語法、進階實戰技巧和項目開發等實用內容
《Kotlin從入門到進階實戰》重點介紹了Kotlin語言的特性,包括可空類型、安全操作符、面向對像編程、Lambda表達式、函數式編程、擴展函數及創建DSL等,並都給出了豐富的代碼示例。
《Kotlin從入門到進階實戰》詳細介紹了編程實踐中較為常用的元編程與注解反射,以及運算符重載與約定等內容。
《Kotlin從入門到進階實戰》詳細地介紹了兩個項目實戰案例:使用Kotlin+Spring Boot進行服務端開發;使用Kotlin開發Android應用程序。\"
-
\"《Kotlin從入門到進階實戰》從Kotlin 語言的基礎語法講起,逐步深入到Kotlin進階實戰,並在最後配合項目實戰案例,重點介紹了使用Kotlin+Spring Boot進行服務端開發和使用Kotlin進行Android應用程序開發的內容,讓讀者不但可以繫統地學習Kotlin編程的相關知識,而且還能對Kotlin應用開發有更為深入的理解。
本書分為14章,涵蓋的主要內容有Kotlin簡介,Kotlin語法基礎,類型繫統與可空類型,類與面向對像編程,函數與函數式編程,擴展函數與屬性,集合類,泛型,文件I/O操作、正則表達式與多線程,使用Kotlin創建DSL,運算符重載與約定,元編程、注解與反射,Kotlin集成Spring Boot服務端開發,使用Kotlin進行Android開發。
本書內容通俗易懂,案例豐富,實用性強,特別適合Kotlin語言的入門讀者和進階讀者閱讀,也適合Android程序員、Java程序員等其他編程愛好者閱讀,還適合作為相關培訓機構的教材。
\"
-
陳光劍 筆名一劍。資深程序員,現就職於阿裡巴巴集團。有豐富的平臺開發經驗,曾經參與了多種平臺工具的開發。使用Java、Android、Scala、Groovy和Kotlin等語言或工具進行領域建模、架構設計和工具開發等,積累了大量經驗。善於總結,樂於分享,發布過大量技術文章,並著有《Kotlin極簡教程》一書,深受讀者好評。
-
目 錄 第1章 Kotlin是什麼 1 1.1 初識Kotlin 1 1.2 語言特性 2 1.2.1 Kotlin與Java**互操作 3 1.2.2 擴展函數與擴展屬性 4 1.2.3 不可空類型與空安全 5 1.2.4 一等函數支持 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語言生態 12 1.7 本章小結 16 第2章 Kotlin語法基礎 17 2.1 變量和標識符 17 2.2 關鍵字與修飾符 18 2.3 流程控制語句 21 2.3.1 if表達式 22 2.3.2 when表達式 23 2.3.3 for循環 24 2.3.4 while循環 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 操作符優先級 31 2.4.2 一元操作符 32 2.4.3 二元操作符 33 2.5 包聲明 38 2.6 本章小結 40 第3章 類型繫統與可空類型 41 3.1 類型繫統 41 3.1.1 類型繫統的作用 41 3.1.2 Java類型繫統 42 3.1.3 Kotlin類型繫統 43 3.2 可空類型 45 3.3 安全操作符 46 3.3.1 安全調用符“?” 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 類型檢測與類型轉換 52 3.5.1 is運算符 52 3.5.2 類型自動轉換 53 3.5.3 as運算符 54 3.6 本章小結 54 第4章 類與面向對像編程 55 4.1 面向對像編程簡史 55 4.2 聲明類 58 4.2.1 空類 58 4.2.2 聲明類和構造函數 58 4.3 抽像類與接口 61 4.3.1 抽像類與抽像成員 62 4.3.2 接口 64 4.4 object對像 65 4.5 數據類 66 4.5.1 創建數據類 66 4.5.2 數據類自動創建的函數 69 4.5.3 數據類的語法限制 69 4.5.4 Pair和Triple 69 4.6 注解 70 4.7 枚舉 72 4.8 內部類 73 4.8.1 普通嵌套類 73 4.8.2 嵌套內部類 74 4.8.3 匿名內部類 74 4.9 本章小結 75 第5章 函數與函數式編程 76 5.1 函數式編程簡介 77 5.2 聲明函數 77 5.3 Lambda表達式 78 5.4 高階函數 79 5.5 Kotlin中的特殊函數 80 5.5.1 run()函數 80 5.5.2 apply()函數 81 5.5.3 let()函數 82 5.5.4 also()函數 83 5.5.5 with()函數 83 5.6 本章小結 84 第6章 擴展函數與屬性 85 6.1 擴展函數 86 6.1.1 給String類擴展兩個函數 86 6.1.2 給List類擴展一個過濾函數 87 6.2 擴展屬性 89 6.3 擴展的實現原理 90 6.4 擴展中的this關鍵字 91 6.5 本章小結 91 第7章 集合類 92 7.1 集合類概述 92 7.1.1 常用的3種集合類 92 7.1.2 Kotlin集合類繼承層次 93 7.2 不可變集合類 94 7.3 創建集合類 95 7.4 遍歷集合中的元素 97 7.5 映射函數 98 7.6 過濾函數 99 7.7 排序函數 100 7.8 元素去重 101 7.9 本章小結 101 第8章 泛型 102 8.1 為何引入泛型 102 8.2 在類、接口和函數上使用泛型 104 8.2.1 泛型接口 104 8.2.2 泛型類 105 8.2.3 泛型函數 106 8.3 類型上界 106 8.4 協變與逆變 106 8.4.1 協變 108 8.4.2 逆變 111 8.4.3 PECS 111 8.5 out T與in T 112 8.6 類型擦除 112 8.7 本章小結 113 第9章 文件I/O操作、正則表達式與多線程 114 9.1 文件I/O操作 114 9.1.1 讀文件 115 9.1.2 寫文件 116 9.1.3 遍歷文件樹 117 9.2 網絡I/O 118 9.3 執行Shell命令 119 9.4 正則表達式 120 9.4.1 構造Regex表達式 120 9.4.2 Regex函數 120 9.4.3 使用Java的正則表達式類 123 9.5 多線程編程 123 9.5.1 創建線程 123 9.5.2 同步方法和塊 125 9.5.3 可變字段 125 9.6 本章小結 126 **0章 使用Kotlin創建DSL 127 10.1 什麼是DSL 127 10.1.1 內部DSL 128 10.1.2 外部DSL 128 10.2 Kotlin的DSL特性支持 129 10.3 實現集合類的流式Kotlin DSL 130 10.4 實現一個SQL風格的集合類 131 10.5 本章小結 133 **1章 運算符重載與約定 134 11.1 什麼是運算符重載 134 11.2 重載二元算術運算符 137 11.3 重載自增自減一元運算符 139 11.4 重載比較運算符 141 11.5 重載計算賦值運算符 143 11.6 本章小結 144 **2章 元編程、注解與反射 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 函數引用 153 12.3.3 屬性引用 153 12.3.4 綁定函數和屬性引用 154 12.4 使用反射獲取泛型信息 154 12.5 本章小結 158 **3章 Kotlin集成Spring Boot服務端開發 159 13.1 用Spring Boot快速開發Restful Hello World 159 13.1.1 Spring Initializr 159 13.1.2 創建Spring Boot項目 160 13.2 繫統功能與技術棧 167 13.3 準備工作 167 13.4 配置數據層 170 13.5 數據持久層開發 170 13.5.1 數據庫表結構 170 13.5.2 配置JPA 171 13.6 JSON數據解析 175 13.7 數據入庫邏輯實現 176 13.8 定時調度任務 177 13.9 HTTP接口開發 178 13.9.1 實現分頁查詢接口 178 13.9.2 @Query注解與 #{#entityName} 179 13.9.3 Pageable與Page 180 13.10 視圖模板開發 184 13.10.1 前端代碼結構 185 13.10.2 實現後端分頁 187 13.10.3 實現收藏和刪除圖片的功能 191 13.10.4 搜索關鍵字管理 194 13.10.5 使用協程實現異步爬蟲任務 200 13.10.6 圖片存入數據庫並在前端展現 201 13.11 本章小結 203 **4章 使用Kotlin進行Android開發 204 14.1 快速開發Hello World 205 14.1.1 準備工作 205 14.1.2 創建基於Kotlin的Android項目 207 14.1.3 工程目錄文件說明 210 14.1.4 安裝運行 213 14.2 綜合項目實戰:開發一個電影指南應用程序 214 14.2.1 創建 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 測試數據類DummyContent 244 14.2.10 創建領域對像類Movie 244 14.2.11 JSON數據解析 245 14.2.12 電影列表頁面 246 14.2.13 視圖數據適配器ViewAdapter 250 14.2.14 視圖中圖像的展示 251 14.2.15 電影詳情頁面 253 14.2.16 電影源數據的獲取 257 14.2.17 配置 AndroidManifest.xml 259 14.2.18 打包安裝測試 259 14.3 本章小結 260
-
第3章 類型繫統與可空類型
與Java、C和C ++語言一樣,Kotlin語言也是“靜態類型的編程語言”。通常,編程語言中的類型繫統中定義了:
* 如何將數值和表達式歸為不同的類型;
* 如何操作這些類型;
* 這些類型之間如何互相作用。 我們在編程語言中使用類型的目的是為了讓編譯器能夠確定類型所關聯的對像需要分配多少空間。 類型繫統在各種語言之間有**大的差異,主要的差異表現在編譯時期的語法及運行時期的操作實現方式上。在每一種編程語言中,都有一個特定的類型繫統。靜態類型在編譯時期就能可靠地發現類型錯誤,因此通常能增進*終程序的可靠性。然而,有多少的類型錯誤發生,以及有多少比例的錯誤能被靜態類型所捕獲,仍有爭論。 本章簡單介紹一下Kotlin的類型繫統。 3.1 類 型 繫 統
定型(typing,又稱類型指派)的過程就是賦予一組比特以具體的意義。類型通常和存儲器中的數值或對像(如變量)相聯繫。因為在計算機中,任何數值都是由一組簡單的比特位組成的,硬件無法區分存儲器地址、腳本、字符、整數及浮點數。類型可以告知程序和程序設計者,應該怎麼對待那些比特位。 3.1.1 類型繫統的作用
使用類型繫統,編譯器可以檢查無意義的、無效的、類型不匹配等錯誤代碼。這也正是強類型語言能夠提供*多的代碼安全性保障的原因之一。 另外,靜態類型檢查還可以提供有用的信息給編譯器。與動態類型語言相比,由於有了類型的顯式聲明,靜態類型的語言*加易讀好懂。 有了類型,我們還可以*好地做抽像化、模塊化的工作。這使得我們可以在較高抽像層次思考並解決問題。例如,Java中的字符數組char[]s={'a','b','c'} 和字符串類型String str=\"abc\"就是*簡單、*典型的抽像封裝實例。下面分別舉例說明。 字符數組代碼示例如下:
jshell> char[] s = {'a','b','c'} //字符數組
s ==> char[3] { 'a', 'b', 'c' }
jshell> s[0] //訪問**個元素,注意下標是0
$3 ==> 'a'
jshell> s[1]
$4 ==> 'b'
jshell> s[2]
$5 ==> 'c'
字符串代碼示例如下:
jshell> String str = \"abc\" //聲明字符串
str ==> \"abc\"
jshell> str.toCharArray(); //String類型轉換成字符數組
$7 ==> char[3] { 'a', 'b', 'c' }
3.1.2 Java類型繫統
Java類型繫統可以簡單用下面的圖3-1來表示。
| | | | | |