Kotlin极简教程PDF电子书下载
- 电子书积分:15 积分如何计算积分?
- 作 者:陈光剑编著
- 出 版 社:北京:机械工业出版社
- 出版年份:2017
- ISBN:9787111579939
- 页数:494 页
第一部分 Kotlin语言基础 2
第1章 Kotlin简介 2
1.1 Kotlin简史 2
1.1.1 Kotlin概述 3
1.1.2 Kotlin元年:2016 3
1.2 快速学习工具 4
1.2.1 云端IDE 4
1.2.2 本地命令行环境搭建 5
1.2.3 使用IntelliJ IDEA 9
1.2.4 使用Eclipse 13
1.2.5 使用Gradle构建Kotlin项目 17
1.2.6 编程语言学习小结 18
1.3 本章小结 20
第2章 快速开始HelloWorld 21
2.1 命令行版HelloWorld 21
2.2 应用程序版HelloWorld 21
2.3 Web RESTful HelloWorld 24
2.4 Android版的HelloWorld 34
2.5 JavaScript版HelloWorld 39
2.6 本章小结 49
第3章 Kotlin语言基础 50
3.1 包 50
3.2 声明变量和值 56
3.3 变量类型推断 57
3.3.1 省去变量类型 57
3.3.2 使用is运算符进行类型检测 59
3.4 字符串与其模板表达式 59
3.5 流程控制语句 60
3.5.1 if表达式 60
3.5.2 when表达式 62
3.5.3 for循环 64
3.5.4 while循环 64
3.5.5 break和continue 65
3.5.6 return 66
3.5.7 标签 69
3.5.8 throw表达式 71
3.6 代码注释 72
3.7 语法与标识符 73
3.7.1 修饰符 73
3.7.2 关键字(保留字) 75
3.7.3 操作符和操作符的重载 81
3.7.4 操作符优先级 82
3.7.5 一元操作符 83
3.7.6 二元操作符 85
3.8 扩展函数和扩展属性 90
3.8.1 扩展函数 90
3.8.2 扩展属性 93
3.9 空指针安全 93
3.10 标准库API简介 96
3.11 本章小结 97
第4章 基本数据类型与类型系统 98
4.1 什么是类型 98
4.2 编译时类型与运行时类型 100
4.2.1 弱类型与强类型 100
4.2.2 静态类型与动态类型 101
4.2.3 显式类型与隐式类型 101
4.3 根类型Any 101
4.4 基本类型 102
4.4.1 数字类型 104
4.4.2 字符类型与转义符 109
4.4.3 布尔类型 111
4.4.4 字符串类型 112
4.4.5 数组类型 117
4.5 可空类型 120
4.5.1 Kotlin中的null 120
4.5.2 可空类型String?与安全调用? 122
4.5.3 可空性的实现原理 124
4.5.4 可空类型层次体系 126
4.6 kotlin.Unit类型 127
4.7 kotlin.Nothing类型 128
4.8 类型检测与类型转换 131
4.8.1 is与!is运算符 131
4.8.2 as运算符 133
4.9 本章小结 134
第二部分 编程进阶 136
第5章 集合类 136
5.1 集合类的基本概念 136
5.1.1 集合类是一种数据结构 137
5.1.2 集合类是ADT 137
5.1.3 连续存储和离散存储 138
5.2 Kotlin集合类简介 138
5.3 List 139
5.3.1 创建不可变List 140
5.3.2 创建可变集合MutableList 142
5.3.3 遍历List元素 143
5.3.4 List元素操作函数 146
5.3.5 List集合类的基本运算函数 151
5.3.6 过滤操作函数 159
5.3.7 映射操作函数 166
5.3.8 分组操作函数 169
5.3.9 排序操作符 170
5.3.10 生产操作符 171
5.4 Set 174
5.4.1 空集 174
5.4.2 创建Set 176
5.4.3 使用Java中的Set类 177
5.4.4 Set元素的加减操作plus minus 179
5.5 Map 179
5.5.1 创建Map 180
5.5.2 访问Map的元素 184
5.5.3 Map操作符函数 186
5.6 本章小结 192
第6章 泛型 193
6.1 泛型简介 193
6.1.1 泛型与多态 193
6.1.2 为何引进泛型 194
6.1.3 Java与Kotlin中的泛型 195
6.2 型变 197
6.2.1 Java的类型通配符 197
6.2.2 泛型和数组的型变 201
6.3 Kotlin中的泛型 205
6.3.1 outT与inT 205
6.3.2 声明处型变 206
6.3.3 类型投影 206
6.4 泛型类 207
6.5 泛型函数 208
6.6 本章小结 208
第7章 面向对象编程 209
7.1 面向对象编程思想 209
7.1.1 一切皆是映射 209
7.1.2 二进制01与易经阴阳 211
7.1.3 从面向过程到面向对象 212
7.2 类与构造函数 215
7.2.1 声明类 216
7.2.2 构造函数 216
7.2.3 类的属性 218
7.2.4 函数(方法) 219
7.3 抽象类 219
7.3.1 抽象类的定义 219
7.3.2 抽象函数 220
7.3.3 抽象属性和抽象类 221
7.4 接口 223
7.4.1 接口定义 223
7.4.2 实现接口 224
7.4.3 覆盖冲突 225
7.4.4 接口中的属性 225
7.5 抽象类和接口的差异 226
7.6 继承 227
7.6.1 open类 227
7.6.2 多重继承 228
7.7 枚举类 230
7.7.1 枚举类基本用法 231
7.7.2 初始化枚举值 231
7.7.3 使用枚举常量 232
7.8 注解类 233
7.8.1 声明注解 233
7.8.2 使用注解 234
7.9 单例模式与伴生对象 234
7.9.1 单例模式 234
7.9.2 object对象 235
7.9.3 嵌套object对象 236
7.9.4 匿名object 238
7.9.5 伴生对象 239
7.10 密封类 242
7.11 数据类 243
7.11.1 构造函数中的val/var 243
7.11.2 领域实体类 245
7.11.3 数据类的概念 245
7.11.4 数据类的限制 246
7.11.5 数据类的解构 248
7.11.6 标准数据类Pair和Triple 248
7.12 嵌套类 249
7.12.1 嵌套类:类中的类 249
7.12.2 内部类 250
7.12.3 匿名内部类 250
7.13 委托 252
7.13.1 代理模式 252
7.13.2 类的委托 253
7.13.3 委托属性 255
7.14 本章小结 260
第8章 函数式编程 261
8.1 函数式编程概述 261
8.1.1 函数式编程与面向对象编程 262
8.1.2 函数式编程基本特性 265
8.1.3 函数式编程核心思想 266
8.2 在Kotlin中使用函数式编程 284
8.2.1 Kotlin中的函数 284
8.2.2 扩展函数 286
8.2.3 中缀函数 286
8.2.4 函数参数 287
8.2.5 函数返回类型 289
8.2.6 单表达式函数 289
8.2.7 函数作用域 289
8.2.8 泛型函数 290
8.2.9 高阶函数 290
8.2.10 匿名函数 291
8.2.11 Lambda表达式 291
8.2.12 it:单个参数的隐式名称 292
8.2.13 闭包 292
8.2.14 带接收者的函数字面值 293
8.2.15 具体化的类型参数 293
8.2.16 尾递归tailrec 294
8.3 本章小结 295
第9章 轻量级线程:协程 296
9.1 协程的基本概念 296
9.2 协程的基本操作 297
9.2.1 搭建项目 297
9.2.2 简单协程示例 298
9.2.3 使用launch函数启动协程 299
9.2.4 CommonPool对象 299
9.2.5 挂起函数 301
9.2.6 runBlocking函数 302
9.2.7 等待一个协程任务执行完毕 303
9.2.8 取消协程 306
9.2.9 协程取消失效 307
9.2.10 计算代码协程的取消方式 308
9.2.11 在finally中的协程代码 310
9.2.12 协程中不被取消的代码块 312
9.2.13 设置协程超时时间 313
9.3 挂起函数 314
9.3.1 按默认顺序执行 314
9.3.2 使用异步并发执行 315
9.4 协程上下文与调度器 316
9.4.1 调度和线程 316
9.4.2 父子协程 318
9.5 通道与管道 319
9.5.1 通道vs阻塞队列 319
9.5.2 关闭通道和迭代遍历元素 320
9.5.3 生产者-消费者模式 321
9.5.4 使用管道生产无限序列 322
9.5.5 管道与无穷质数序列 323
9.5.6 通道缓冲区 324
9.5.7 构建无穷惰性序列 324
9.6 协程与线程 325
9.6.1 轻量级的协程 325
9.6.2 协程vs守护线程 326
9.6.3 区别 327
9.6.4 协程的好处 328
9.6.5 Kotlin协程的内部机制 328
9.7 本章小结 329
第10章 Kotlin与Java互操作 330
10.1 在Kotlin中调用Java 330
10.1.1 调用Okhttp库示例 331
10.1.2 使用Java的集合类 332
10.1.3 调用Java中的Getter和Setter 333
10.1.4 调用Java中返回void的方法 334
10.1.5 调用来自Java中的null 335
10.1.6 使用Java的泛型 336
10.1.7 数组的互操作 337
10.1.8 可变参数的互操作 337
10.1.9 检查Java中的异常 337
10.1.10 调用Java的Object方法 338
10.1.11 访问Java静态成员 340
10.1.12 使用Java的反射 340
10.1.13 SAM转换 341
10.2 在Java中调用Kotlin 342
10.2.1 访问Kotlin属性 342
10.2.2 调用Kotlin的包级函数 344
10.2.3 调用Kotlin中的实例字段 347
10.2.4 调用Kotlin中的静态字段 348
10.2.5 调用Kotlin中的静态方法 349
10.2.6 Kotlin与Java的可见性 350
10.2.7 生成默认参数函数的重载 352
10.2.8 显式声明Kotlin中的异常 353
10.2.9 关键字冲突的互操作 355
10.2.10 Nothing类型 355
10.3 类型映射 356
10.4 Kotlin与Java的简单实例对比 357
10.5 本章小结 364
第三部分 综合实战 366
第11章 使用Kotlin集成SpringBoot开发Web服务端 366
11.1 Spring Boot简介 366
11.2 系统架构技术栈 367
11.3 准备工作 367
11.3.1 创建工程 367
11.3.2 Gradle配置文件说明 369
11.4 数据库层开发 370
11.4.1 Endpoint监控接口 373
11.4.2 实体类 375
11.4.3 数据访问层代码 377
11.5 后端逻辑开发 379
11.5.1 控制器逻辑层 379
11.5.2 启动初始化CommandLine-Runner 380
11.5.3 应用启动类 380
11.5.4 Model数据绑定 382
11.5.5 模板引擎视图页面 383
11.5.6 运行测试 383
11.6 前端后端集成 384
11.6.1 引入前端组件 384
11.6.2 实现写文章模块 386
11.6.3 加上导航栏 388
11.6.4 抽取公共模板文件 389
11.6.5 写文章的控制器层接口 390
11.6.6 前端Ajax请求 390
11.6.7 文章详情页 391
11.6.8 添加Markdown支持 393
11.6.9 文章列表分页搜索 395
11.7 Spring 5.0对Kotlin的支持 397
11.8 本章小结 399
第12章 使用Kotlin集成Gradle开发 400
12.1 使用Gradle构建Kotlin工程 400
12.2 使用Kotlin编写Gradle构建配置文件 405
12.3 本章小结 407
第13章 使用Kotlin和Anko的Android开发 408
13.1 什么是Anko 408
13.2 快速入门实例 409
13.2.1 功能介绍 410
13.2.2 使用Android Studio新建项目 411
13.2.3 设计UI界面主题颜色 415
13.2.4 核心依赖配置 417
13.2.5 代码编写 421
13.2.6 运行测试 435
13.3 本章小结 437
第14章 使用Kotlin DSL 438
14.1 什么是DSL 439
14.2 Kotlin的DSL特性支持 441
14.3 使用kotlinx.html DSL写前端代码 442
14.4 实现一个极简的HTTP DSL 447
14.5 本章小结 454
第15章 Kotlin文件IO操作与多线程 455
15.1 Kotlin IO基本操作 455
15.1.1 终端IO操作 455
15.1.2 读文件 456
15.1.3 写文件 457
15.1.4 遍历文件树 458
15.1.5 网络IO操作 459
15.1.6 kotlin.io标准库 460
15.1.7 执行Shell命令行 461
15.2 正则表达式 463
15.2.1 构造Regex表达式 463
15.2.2 Regex类中的函数 463
15.2.3 使用Java正则表达式类 465
15.3 Kotlin的多线程 466
15.3.1 创建线程 466
15.3.2 同步方法和块 467
15.3.3 可变字段 468
15.4 本章小结 469
第16章 使用Kotlin Native 470
16.1 Kotlin Native简介 470
16.2 快速开始Hello World 471
16.3 Kotlin Native与C语言互操作 477
16.4 Kotlin Native编译器konan简介 486
16.5 本章小结 494
- 《高级英语阅读与听说教程》刘秀梅编著 2019
- 《看图自学吉他弹唱教程》陈飞编著 2019
- 《激光加工实训技能指导理实一体化教程 下》王秀军,徐永红主编;刘波,刘克生副主编 2017
- 《AutoCAD 2019 循序渐进教程》雷焕平,吴昌松,陈兴奎主编 2019
- 《少儿电子琴入门教程 双色图解版》灌木文化 2019
- 《Photoshop CC 2018基础教程》温培利,付华编著 2019
- 《剑桥国际英语写作教程 段落写作》(美)吉尔·辛格尔顿(Jill Shingleton)编著 2019
- 《英语自学进阶教程全6册 3》爱尔兰迪尔德丽出版社著 2019
- 《雅马哈管乐队训练教程 降E调单簧管 分谱》Japan Band Clinic委员会 2019
- 《线性代数简明教程》刘国庆,赵剑,石玮编著 2019
- 《市政工程基础》杨岚编著 2009
- 《家畜百宝 猪、牛、羊、鸡的综合利用》山西省商业厅组织技术处编著 1959
- 《《道德经》200句》崇贤书院编著 2018
- 《高级英语阅读与听说教程》刘秀梅编著 2019
- 《计算机网络与通信基础》谢雨飞,田启川编著 2019
- 《看图自学吉他弹唱教程》陈飞编著 2019
- 《法语词汇认知联想记忆法》刘莲编著 2020
- 《培智学校义务教育实验教科书教师教学用书 生活适应 二年级 上》人民教育出版社,课程教材研究所,特殊教育课程教材研究中心编著 2019
- 《国家社科基金项目申报规范 技巧与案例 第3版 2020》文传浩,夏宇编著 2019
- 《流体力学》张扬军,彭杰,诸葛伟林编著 2019
- 《指向核心素养 北京十一学校名师教学设计 英语 七年级 上 配人教版》周志英总主编 2019
- 《北京生态环境保护》《北京环境保护丛书》编委会编著 2018
- 《高等教育双机械基础课程系列教材 高等学校教材 机械设计课程设计手册 第5版》吴宗泽,罗圣国,高志,李威 2018
- 《指向核心素养 北京十一学校名师教学设计 英语 九年级 上 配人教版》周志英总主编 2019
- 《高等院校旅游专业系列教材 旅游企业岗位培训系列教材 新编北京导游英语》杨昆,鄢莉,谭明华 2019
- 《中国十大出版家》王震,贺越明著 1991
- 《近代民营出版机构的英语函授教育 以“商务、中华、开明”函授学校为个案 1915年-1946年版》丁伟 2017
- 《新工业时代 世界级工业家张毓强和他的“新石头记”》秦朔 2019
- 《智能制造高技能人才培养规划丛书 ABB工业机器人虚拟仿真教程》(中国)工控帮教研组 2019
- 《AutoCAD机械设计实例精解 2019中文版》北京兆迪科技有限公司编著 2019