图书推荐:Kotlin从入门到进阶实战

图片发自简书App

《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程序员等其他编程爱好者阅读,还适合作为相关培训机构的教材。

目录
目 录

第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

第10章 使用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

第11章 运算符重载与约定 134

11.1 什么是运算符重载 134

11.2 重载二元算术运算符 137

11.3 重载自增自减一元运算符 139

11.4 重载比较运算符 141

11.5 重载计算赋值运算符 143

11.6 本章小结 144

第12章 元编程、注解与反射 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

第13章 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

第14章 使用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

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 158,560评论 4 361
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,104评论 1 291
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,297评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,869评论 0 204
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,275评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,563评论 1 216
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,833评论 2 312
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,543评论 0 197
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,245评论 1 241
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,512评论 2 244
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,011评论 1 258
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,359评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,006评论 3 235
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,062评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,825评论 0 194
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,590评论 2 273
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,501评论 2 268

推荐阅读更多精彩内容