引子 xxi
1 開始:快速入門 1
2 基本類型和變量:關于變量 31
3 函數:跳出主函數 59
4 類和對象:初步認識類 91
5 子類和父類:使用繼承 121
6 抽象類和接口:重要的多態(tài) 155
7 數據類:處理數據 191
8 空值和異常:使代碼安然無恙 219
9 集合:變得有條理 251
10 泛型:從輸出推斷輸入 289
11 lambda和高階函數:像數據一樣使用代碼 325
12 內置高階函數:使你的代碼更強大 363
附錄i 協(xié)程:并行地執(zhí)行代碼 397
附錄ii 測試:確保你的代碼可以運行 409
附錄iii 其他:我們沒有涉及的十大內容 419
詳細目錄
引子
你的大腦與Kotlin。你想學些新東西,但你的大腦總是幫倒忙,讓學習無法繼續(xù)。你的大腦在想:“最好留出空間來記住那些更重要的事情,比如要避開哪些野生動物?!蹦敲?,該如何哄騙你的大腦,讓它認為如果不知道Kotlin你將無法生存?
誰適合看本書 xxii
我們知道你們在想什么 xxiii
我們知道你的大腦在想什么 xxiii
元認知:思考何為思考 xxv
我們是這樣做的 xxvi
重要說明 xxviii
技術審校團隊 xxx
致謝 xxxi
1 開始
快速入門
Kotlin正在掀起新的浪潮。
自首次發(fā)布以來,Kotlin就以其友好的語法,簡潔、靈活和強大的功能給程序員留下了深刻的印象。在本書中,我們將教你如何構建自己的Kotlin應用程序。我們將從創(chuàng)建并運行基本的應用程序開始講解。在此過程中,你將了解Kotlin的一些基本語法,例如基本語句、循環(huán)以及條件分支。你的旅程剛剛開始。
能夠自由選擇編譯平臺意味著Kotlin可以運行于服務器、云平臺、瀏覽器、移動設備
歡迎來到Kotlin之城 2
你幾乎可以在任何地方使用Kotlin 3
本章內容 4
安裝IntelliJ IDEA 7
構建一個基本的應用程序 8
你的第一個Kotlin項目 11
新增一個Kotlin文件 12
main函數剖析 13
將main函數添加至Appkt文件 14
你可以在main函數里面做些什么呢 16
循環(huán) 17
循環(huán)示例 18
條件分支 19
帶有返回值的if語句 20
更新main函數 21
使用Kotlin的交互式shell 23
你可以在REPL中加入多行代碼片段 24
Kotlin工具箱 30
2 基本類型和變量
關于變量
所有代碼都依賴于——變量
本章我們將進一步探索Kotlin,并且向你展示Kotlin變量是如何工作的。你會學習Kotlin的基本類型,例如整型(Int)、浮點型(Float)和布爾型(Boolean),并且學習Kotlin的編譯器是如何聰明地從給定的變量值推測出變量類型的。你還將學會如何使用String模板和簡短的代碼來構建復雜的String類型,并且學會創(chuàng)建數組來存儲多個值。最后,你會發(fā)現(xiàn)對象對于Kotlin之城如此重要的原因。
你的代碼需要變量 32
當你聲明變量時會發(fā)生什么 33
變量保存了指向對象的引用 34
Kotlin的基本類型 35
如何顯式聲明變量類型 37
根據變量類型正確賦值 38
將一個變量值賦給另一個變量 39
類型轉換 40
數值類型轉換背后發(fā)生了什么 41
小心溢出 42
使用數組存放多個值 45
創(chuàng)建Phrase-O-Matic應用程序 46
向PhraseOMatickt中添加代碼 47
編譯器從數組中元素的值來推測數組的類型 49
var表示該變量可以指向不同數組 50val
表示該變量永遠指向同一個數組 51
Kotlin工具箱 58
3 函數
跳出主函數
現(xiàn)在,是時候更上一層樓了。下面,我們一起來了解一下函數。
到目前為止,你一直將所有的代碼寫在應用程序的主函數中。但是,如果你想要編寫更有條理并且更加易于維護的代碼,你需要知道如何將代碼拆分為不同的函數。在本章中,你將通過構建一個游戲來學習如何編寫函數以及與應用程序交互。你將了解如何編寫簡明的單個表達式函數。在此過程中,你還將學習如何使用強大的for循環(huán)來遍歷范圍和集合。
我們一起來編寫一個游戲“Rock、Paper、Scissors” 60
游戲設計概覽 61
讓程序選擇一個選項 63
如何創(chuàng)建函數 64
可以向函數中傳入多個值 65
可以從函數中返回一個值 66
單個表達式函數 67
向Gamekt中添加getGameChoice函數 68
getUserChoice函數 75
for循環(huán)工作原理 76
詢問用戶的選擇 78
驗證用戶的輸入 81
更強大的布爾表達式 81
向Gamekt中添加getUserChoice函數 83
向Gamekt中添加printResult函數 87
Kotlin工具箱 89
4 類和對象
初步認識類
現(xiàn)在是時候了解一下Kotlin基本類型之外的類型了。
Kotlin的基本類型遲早會難以滿足你的需求,此時,你就需要類的幫助。類是一個模板,它允許你創(chuàng)建自己的對象類型,并定義它們的屬性和函數。這里,你將要學習如何設計、定義類以及如何使用類來創(chuàng)建新的對象。你將會看到構造函數、初始化程序塊、getter和setter,以及getter和setter是如何保護類的屬性的。最后,你將學習Kotlin是如何內置數據隱藏功能,從而節(jié)省你的時間、精力和編碼量的。
使用類定義對象類型 92
如何設計自己的類 93
一起定義一個Dog類 94
如何創(chuàng)建Dog對象 95
如何訪問屬性及函數 96
創(chuàng)建一個Songs應用 97
神奇的對象創(chuàng)建 98
對象是如何創(chuàng)建的 99
現(xiàn)象背后:調用Dog構造函數 100
深入了解屬性 1