基本介紹
- 書名:Scala開發快速入門
- 作者:周志湖、牛亞真
- ISBN:9787302444138
- 定價:59元
- 出版時間:2016.09.01
圖書簡介,圖書目錄,
圖書簡介
本書以Scala語言的核心語法為主線,通過大量實例代碼循序漸進地介紹了Scala語言的語法特性。第1章介紹Scala語言及開發環境的安裝、IntellijIDEA的使用、Scala語言的互動式命令行。第2~3章重點介紹Scala語言的基礎語法結構。第4章,重點介紹Scala語言重要的數據結構collection(集合)。第5章,重點介紹Scala語言中面向函式編程的語法特性。第6~8章,重點介紹Scala語言面向對象編程的語法特性。第9章,介紹Scala語言中的模式匹配及原理。第10章,詳細介紹Scala語言的類型系統。第11章,對Scala語言中的隱式轉換及原理進行詳細介紹。第12章,重點介紹Scala中的並發編程。第13章,介紹Java語言與Scala語言間的互操作。
本書還提供了所有實例的原始碼與素材檔案,供讀者上機練習使用,讀者可從網上下載本書資源檔案。
本書適用於Scala語言初學者、愛好者,大數據開發人員,軟體培訓機構以及計算機專業的學生使用。
圖書目錄
第1章Scala入門1
1.1Scala簡介2
1.2Scala開發環境搭建2
1.2.1軟體準備2
1.2.2JDK的安裝與配置3
1.2.3ScalaSDK的安裝與配置5
1.2.4IntellijIDEA的安裝與配置6
1.3ScalaHelloWorld8
1.3.1創建ScalaProject8
1.3.2配置項目代碼目錄結構9
1.3.3創建應用程式對象11
1.3.4運行代碼12
1.4IntellijIDEA常用快捷鍵13
1.4.1代碼編輯類常用快捷鍵13
1.4.2導航快捷鍵14
1.4.3編譯、運行及調試15
1.4.4代碼格式化15
1.5互動式命令行使用15
1.5.1Scala內置互動式命令行15
1.5.2ScalaConsole互動式命令行17
1.5.3ScalaWorksheet的使用19
小結20
第2章變數及基本數據類型21
2.1變數22
2.1.1變數定義22
2.1.2lazy變數23
2.2基本數據類型24
2.2.1Int類型24
2.2.2Float類型25
2.2.3Double類型25
2.2.4Char類型25
2.2.5String類型26
2.2.6Boolean類型27
2.3基本類型操作27
2.3.1...
2.3.1算術運算操作27
2.3.2關係運算操作28
2.3.3邏輯運算操作28
2.3.4位運算操作29
2.3.5對象比較運算操作30
2.3.6字元串運算操作31
2.4運算符的優先權32
2.5元組類型33
2.6符號類型34
小結35
第3章程式控制結構36
3.1if語句37
3.1.1if語句37
3.1.2if…else…語句37
3.1.3if...elseif...else…語句37
3.1.4if的嵌套使用38
3.1.5if表達式39
3.2while循環語句39
3.2.1while語句的使用39
3.2.2dowhile語句的使用40
3.3for循環語句41
3.3.1基礎for循環41
3.3.2有過濾條件的for循環44
3.3.3多重for循環44
3.3.4作為表達式的for循環45
小結45
第4章集合46
4.1集合簡介47
4.2數組49
4.2.1定長數組49
4.2.2變長數組ArrayBuffer50
4.2.3數組的遍歷52
4.2.4遍歷生成數組53
4.2.5常用函式53
4.3.6多維數組54
4.3列表(List)55
4.3.1列表的創建55
4.3.2List常用函式56
4.3.3List伴生對象方法58
4.4集(Set)59
4.5映射(Map)61
4.6佇列(Queue)63
4.7棧(Stack)64
小結66
第5章函式67
5.1函式68
5.2值函式69
5.2.1值函式的定義69
5.2.2值函式的簡化71
5.3高階函式73
5.3.1高階函式的定義73
5.3.2高階函式的使用74
5.4閉包78
5.5函式柯里化80
5.6部分套用函式81
5.7偏函式83
小結85
第6章Scala面向對象編程(上)86
6.1類與對象87
6.1.1類的定義87
6.1.2創建對象88
6.1.3類成員的訪問88
6.1.4單例對象90
6.1.5應用程式對象91
6.1.6伴生對象與伴生類93
6.2主構造函式96
6.2.1主構造函式的定義96
6.2.2默認參數的主構造函式98
6.2.3私有主構造函式99
6.3輔助構造函式100
6.3.1輔助構造函式的定義100
6.3.2輔助構造函式中的默認參數102
6.4繼承與多態104
6.4.1類的繼承104
6.4.2構造函式執行順序107
6.4.3方法重寫108
6.4.4多態109
6.5成員訪問控制111
6.5.1默認訪問控制112
6.5.2protected訪問控制113
6.5.3private訪問控制114
6.5.4private[this]訪問控制116
6.5.5主構造函式中的成員訪問控制121
6.6抽象類125
6.6.1抽象類的定義125
6.6.2抽象類的使用126
6.7內部類與內部對象128
6.8匿名類130
小結131
第7章Scala面向對象編程(下)132
7.1trait簡介133
7.2trait的使用135
7.2.1trait的幾種不同用法135
7.2.2混入trait的類對象構造138
7.2.3提前定義與懶載入140
7.3trait與類144
7.3.1trait與類的相似點144
7.3.1trait與類的不同點146
7.4多重繼承問題147
7.5自身類型148
小結151
第8章包(package)152
8.1包的定義153
8.2包的使用和作用域155
8.2.1包的使用155
8.2.2包作用域156
8.3包對象159
8.4import高級特性160
8.4.1隱式引入160
8.4.2引入重命名160
8.4.3類隱藏161
小結162
第9章模式匹配163
9.1模式匹配簡介164
9.2模式匹配的7大類型167
9.2.1常量模式167
9.2.2變數模式167
9.2.3構造函式模式169
9.2.4序列模式170
9.2.5元組模式171
9.2.6類型模式172
9.2.7變數綁定模式173
9.3模式匹配原理174
9.3.1構造函式模式匹配原理174
9.3.2序列模式匹配原理176
9.4正則表達式與模式匹配177
9.4.1Scala正則表達式177
9.4.2正則表達式在模式匹配中的套用180
9.5for循環中的模式匹配183
9.6模式匹配與樣例類、樣例對象185
9.6.1模式匹配與樣例類185
9.6.2模式匹配與樣例對象187
小結190
第10章隱式轉換191
10.1隱式轉換簡介192
10.2隱式轉換函式193
10.2.1隱式轉換函式的定義193
10.2.2隱式轉換函式名稱194
10.3隱式類與隱式對象195
10.3.1隱式類195
10.3.2隱式對象196
10.4隱式參數與隱式值197
10.4.1隱式參數197
10.4.2隱式值199
10.4.3隱式參數使用常見問題201
10.5隱式轉換規則與問題204
10.5.1隱式轉換的若干規則204
10.5.2隱式轉換需注意的問題208
小結210
第11章類型參數211
11.1類與類型212
11.2泛型214
11.2.1泛型類215
11.2.2泛型接口與泛型方法216
11.2.3類型通配符217
11.3類型變數界定220
11.4視圖界定222
11.5上下文界定223
11.6多重界定226
11.7協變與逆變227
11.8高級類型230
11.8.1單例類型231
11.8.2類型投影235
11.8.3類型別名237
11.8.4抽象類型238
11.8.5複合類型240
11.8.6函式類型241
小結243
第12章Scala並發編程基礎244
12.1Scala並發編程簡介245
12.1.1重要概念245
12.1.2Actor模型247
12.1.3Akka並發編程框架247
12.2Actor249
12.2.1定義Actor249
12.2.2創建Actor250
12.2.3訊息處理255
12.2.4Actor的其他常用方法260
12.2.5停止Actor261
12.3TypedActor265
12.3.1TypedActor定義265
12.3.2創建TypedActor266
12.3.3訊息傳送267
12.3.4停止運行TypedActor269
12.4Dispatcher271
12.4.1常用Dispatcher271
12.4.2ExecutionService274
12.5Router277
12.6容錯279
12.6.1Actor的4種容錯機制279
12.6.2Supervison279
小結285
第13章Scala與Java的互操作286
13.1Java與Scala集合互操作287
13.1.1Java調用Scala集合287
13.1.2Scala調用Java集合288
13.1.3Scala與Java集合間相互轉換分析289
13.2Scala與Java泛型互操作290
13.2.1Scala中使用Java泛型291
13.2.2Java中使用Scala泛型291
13.3Scalatrait在Java中的使用293
13.4Scala與Java異常處理互操作298
小結299
參考文獻300