网站首页  软件下载  游戏下载  翻译软件  电子书下载  电影下载  电视剧下载  教程攻略

请输入您要查询的图书:

 

书名 Kotlin从入门到项目实战
分类 人文社科-社会科学-语言文字
作者 徐鸿福
出版社 电子工业出版社
下载
简介
作者简介
徐鸿福:精通Java和移动应用研发,拥有多年的研发和架构经验。擅长用Java、Kotlin、Scala、JavaScript、Go等编程语言开发大型商业系统。在移动互联网领域,从事过浏览器、多媒体等移动应用的研发。其中,负责的移动应用中台大大提高了系统的稳定性,减少了开发人员的代码开发量。在互联网金融领域,从事过财务、清结算、区块链等系统研发。其中,负责的金融云系统如今已是某“独角兽”公司很重要的战略项目。
目录
篇 准备
章 了解Kotlin2
1.1 Kotlin能干什么2
1.2 Kotlin的优势3
1.3 如何使用本书3
第2章 体验Kotlin4
2.1 搭建开发环境4
2.1.1 搭建Java的开发环境4
2.1.2 搭建Kotlin的开发环境6
2.2 使用RPHL6
2.2.1 认识RPHL——快速验证代码的利器6
2.2.2 实例1:在RPHL中进行四则运算6
2.3 Kotlin的IDE支持7
2.3.1 使用IDEA/Android Studio7
2.3.2 使用Eclipse7
2.4 Kotlin 的构建工具8
2.4.1 使用Maven8
2.4.2 使用Gradle10
2.5 基本概念10
2.5.1 源文件与字节码文件10
2.5.2 标识符与关键字11
2.5.3 语句和代码块11
2.5.4 注释11
2.5.5 main()函数13
2.6 本章小结14
第2篇 入门
第3章 次动手16
3.1 实例2:个Kotlin脚本——四则运算16
3.1.1 了解Kotlin脚本16
3.1.2 编写Kotlin脚本16
3.1.3 运行脚本16
3.2 实例3:个Kotlin应用——Hello Kotlin17
3.2.1 了解Kotlin应用17
3.2.2 编写代码17
3.2.3 编译代码17
3.2.4 运行代码18
3.3 本章小结18
第4章 变量和常量19
4.1 变量19
4.1.1 了解变量19
4.1.2 创建变量19
4.2 常量(值)20
4.2.1 了解常量(值)21
4.2.2 创建常量(值)21
4.3 实例4:对比变量和常量21
4.4 本章小结22
第5章 数据类型23
5.1 了解数据类型分类23
5.2 “数值”类型——表示数字23
5.2.1 数值类型的基本分类23
5.2.2 整型、长整型与短整型24
5.2.3 单精度与双精度浮点类型26
5.2.4 实例5:用“数值”类型进行转账操作27
5.3 “字符”与“字符串”类型——表示文本27
5.3.1 字符类型28
5.3.2 字符串类型——一组字符的集合28
5.3.3 字符串类型的常用方法29
5.3.4 了解字符串模板——在字符串中使用表达式31
5.3.5 实例6:用字符串模板编写SQL语句32
5.3.6 了解多行文字——原样输出多行语句33
5.3.7 实例7:用多行字符串排版文字34
5.4 “字节”类型——表示二进制35
5.5 “布尔”类型——真或假35
5.6 Kotlin的可空类型35
5.6.1 空值——没有存储空间35
5.6.2 可空类型——可能是空值,也可能不是36
5.6.3 非空类型——不能为空值37
5.6.4 实例8:用安全操作符避免空指针37
5.7 Kotlin的内置类型结构39
5.7.1 Any类型——所有类的父类39
5.7.2 Unit类型——什么都不返回39
5.7.3 Nothing类型——什么都没有39
5.8 类型转换与类型判断40
5.8.1 数值类型转换40
5.8.2 自动类型转换40
5.8.3 强制类型转换41
5.8.4 类型提升41
5.8.5 安全类型转换41
5.8.6 类型判断与智能转换42
5.9 类型别名42
5.10 本章小结43
第6章 操作符44
6.1 认识操作符44
6.2 一元操作符44
6.2.1 正负操作符44
6.2.2 自增操作符与自减操作符45
6.2.3 否定操作符45
6.3 二元操作符46
6.3.1 四则运算操作符46
6.3.2 复合操作符46
6.3.3 比较操作符47
6.3.4 位运算方法48
6.3.5 猫王操作符49
6.3.6 相等性49
6.3.7 in和!in操作符50
6.3.8 索引操作符51
6.3.9 区间操作符51
6.4 操作符重写51
6.5 本章小结52
第7章 流程控制53
7.1 条件语句53
7.1.1 if语句53
7.1.2 if表达式55
7.1.3 when语句56
7.1.4 when表达式57
7.1.5 实例9:when语句的多种用法57
7.2 循环语句59
7.2.1 while循环60
7.2.2 for循环61
7.2.3 实例10:用for循环替代while循环62
7.2.4 repeat语句62
7.3 跳转语句63
7.3.1 continue语句——跳过当前循环63
7.3.2 break语句——停止循环64
7.3.3 实例11:用continue语句和break语句替换标签65
7.4 本章小结65
第8章 数组类型67
8.1 数组67
8.1.1 了解数组——一组相同类型的数据67
8.1.2 创建数组67
8.1.3 实例12:数组的常用操作70
8.2 多维数组72
8.2.1 了解多维数组——数组的元素也是数组72
8.2.2 实例13:用多维数组输出图形73
8.3 本章小结74
第9章 集合类型75
9.1 列表(List)类型75
9.1.1 列表——有序的一组数据75
9.1.2 不可变列表75
9.1.3 可变列表77
9.1.4 空列表78
9.1.5 实例14:列表类型的常用方法79
9.2 集(Set)类型82
9.2.1 集——不重复的一组数据82
9.2.2 不可变集82
9.2.3 可变集82
9.2.4 空集84
9.2.5 实例15:集类型的常用方法84
9.3 区间(Range)类型85
9.3.1 了解区间——连续的一组数据85
9.3.2 实例16:区间类型的常用方法87
9.4 序列(Sequence)类型88
9.4.1 了解序列——一组数据88
9.4.2 实例17:序列类型的常用方法88
9.5 本章小结89
第3篇 进阶
0章 映射类型94
10.1 了解映射——通过名字找到值94
10.2 创建不可变映射94
10.3 创建可变映射95
10.4 创建空映射97
10.5 实例18:映射的常用方法97
10.5.1 获得映射的长度97
10.5.2 通过键访问值97
10.5.3 修改可变映射99
10.5.4 删除可变映射中的元素100
10.5.5 遍历映射100
10.6 本章小结101
1章 类与对象102
11.1 函数的概念与使用102
11.1.1 了解函数——重用一组语句102
11.1.2 认识函数的基本结构102
11.2 函数的返回值103
11.2.1 在函数中返回值103
11.2.2 了解返回值的数据类型104
11.2.3 实例19:在函数中同时返回多个值104
11.3 函数的参数105
11.3.1 了解函数的参数105
11.3.2 命名参数106
11.3.3 变参——在无法确定参数个数时使用107
11.3.4 参数的默认值109
11.3.5 单表达式函数109
11.4 类的概念与使用110
11.4.1 了解类——同一种概念的抽象110
11.4.2 类的基本结构110
11.4.3 实例20:定义一个电脑类111
11.5 对象112
11.5.1 了解对象——类的具体实现112
11.5.2 创建对象113
11.5.3 访问对象的属性和方法113
11.6 构造方法114
11.6.1 了解构造方法——如何创建对象114
11.6.2 主构造方法与初始化代码114
11.6.3 副构造方法116
11.7 属性118
11.7.1 了解属性和字段118
11.7.2 使用默认的Getter和Setter访问器119
11.7.3 自定义Getter和 Setter访问器119
11.7.4 幕后字段121
11.7.5 延迟初始化属性121
11.7.6 内联属性123
11.8 方法123
11.8.1 infix方法123
11.8.2 componentN方法124
11.9 this关键字125
11.10 实例21:创建用户登录管理系统126
11.10.1 创建用户类126
11.10.2 创建用户管理类128
11.10.3 创建客户端131
11.11 本章小结132
2章 类的进阶用法133
12.1 嵌套类——在类中定义类133
12.2 内部类——将类作为另一个类的成员134
12.3 对象声明——单例对象134
12.4 伴生对象——代替静态成员135
12.4.1 了解伴生对象——类中的单例对象135
12.4.2 伴生对象的应用136
12.5 对象表达式——匿名类137
12.5.1 创建对象表达式137
12.5.2 匿名对象的类型限制138
12.6 数据类——贫血模型140
12.6.1 创建数据类140
12.6.2 了解内置方法的限制规则142
12.6.3 了解对象间的复制144
12.7 枚举类——常量集145
12.7.1 创建枚举类146
12.7.2 实例22:用枚举类处理日期147
12.8 密封类150
12.9 本章小结150
3章 继承、抽象类与接口152
13.1 继承152
13.1.1 了解继承——为现有类增加功能152
13.1.2 什么样的类才能被继承152
13.1.3 使用继承153
13.1.4 重写方法153
13.1.5 重写属性154
13.1.6 子类访问父类成员——super关键字155
13.2 抽象类156
13.2.1 了解抽象类——定义模板156
13.2.2 使用抽象类156
13.3 接口157
13.3.1 了解接口157
13.3.2 使用接口158
13.4 is-a关系159
13.5 重写规则160
13.6 实例23:用继承绘制一个手机屏幕161
13.7 本章小结165
4章 包管理与访问控制符166
14.1 包——一组相关代码的集合166
14.1.1 声明包166
14.1.2 导入包167
14.4.3 默认导入包168
14.2 访问控制符——控制成员是否可以被访问168
14.2.1 访问控制符的分类168
14.2.2 构造方法上的访问控制符169
14.2.3 类成员上的访问控制符169
14.3 其他控制符170
14.3.1 open控制符和final控制符171
14.3.2 override控制符171
14.4 本章小结171
5章 正则表达式172
15.1 正则表达式的作用172
15.2 使用正则表达式172
15.2.1 创建正则表达式对象172
15.2.2 匹配数据173
15.2.3 提取数据173
15.2.4 替换数据174
15.2.5 正则分组174
15.3 实例24:用正则表达式解析网页175
15.4 本章小结177
6章 泛型178
16.1 了解泛型178
16.1.1 泛型的概念178
16.1.2 为什么要有泛型178
16.2 泛型的使用179
16.2.1 泛型函数179
16.2.2 泛型类180
16.3 类型参数约束181
16.3.1 上界的概念181
16.3.2 指定单个上界181
16.3.3 指定多个上界182
16.3.4 隐式上界182
16.4 类型型变183
16.4.1 型变183
16.4.2 在声明处协变184
16.4.3 在声明处逆变185
16.4.4 类型参数边界——在使用处型变186
16.4.5 星号投影186
16.5 类型擦除187
16.5.1 类型擦除的概念187
16.5.2 内联函数和类型擦除188
16.6 实例25:用泛型实现数据的持久化188
16.7 本章小结191
第4篇 高阶
7章 扩展与委托194
17.1 扩展——为现有类增加功能194
17.1.1 扩展方法194
17.1.2 扩展属性195
17.1.3 扩展伴生对象196
17.1.4 扩展可空类型196
17.1.5 静态绑定197
17.2 委托——继承的替代方案198
17.2.1 使用方法委托198
17.2.2 使用属性委托200
17.2.3 使用内置的属性委托201
17.2.4 委托工厂类205
17.3 本章小结207
8章 函数的不错应用208
18.1 高阶函数208
18.1.1 函数类型208
18.1.2 将函数作为参数210
18.1.3 将函数作为返回值210
18.2 匿名函数与函数表达式212
18.3 Lambda表达式212
18.3.1 使用Lambda表达式213
18.3.2 隐式参数 it214
18.3.3 作为参数的Lambda表达式214
18.3.4 在Lambda表达式中返回数据215
18.4 内联函数216
18.4.1 创建内联函数217
18.4.2 取消参数内联218
18.4.3 本地返回与非本地返回218
18.5 尾递归函数219
18.6 函数式编程220
18.6.1 map()方法220
18.6.2 flatMap()方法221
18.6.3 zip()方法221
18.6.4 reduce()方法222
18.6.5 fold()方法223
18.6.6 filter()方法223
18.6.7 forEach()方法224
18.6.8 partition()方法224
18.7 实例26:用函数式方法完成数据分析225
18.8 本章小结226
9章 注解与反射227
19.1 注解——为代码添加标记227
19.1.1 使用注解227
19.1.2 了解注解参数228
19.1.3 注解目标231
19.1.4 了解元注解232
19.2 反射——在程序运行时获得代码元数据234
19.2.1 添加依赖234
19.2.2 使用反射234
19.3 实例27:通过反射和注解完成对象的序列化240
19.4 本章小结246
第20章 异常247
20.1 了解异常247
20.2 异常的处理247
20.2.1 捕获和处理异常247
20.2.2 了解finally代码块和返回值249
20.2.3 处理try表达式中的异常250
20.2.4 抛出异常251
20.3 异常对象253
20.3.1 了解异常对象253
20.3.2 自定义异常类253
20.4 实例28:处理回调中的异常254
20.5 本章小结257
第21章 I/O操作258
21.1 文件操作258
21.1.1 创建一个文件258
21.1.2 删除一个文件259
21.1.3 创建一个目录259
21.1.4 删除一个目录259
21.2 流操作259
21.2.1 流的分类259
21.2.2 写文件260
21.2.3 读取文件261
21.3 实例29:读取并解析CSV文件262
21.4 本章小结265
第22章 DSL266
22.1 DSL的基础知识266
22.1.1 了解领域特定语言266
22.1.2 了解DSL的常见使用场景266
22.1.3 了解DSL的分类267
22.2 使用DSL267
22.2.1 实例30:用Lambda表达式实现DSL267
22.2.2 实例31:用链式调用实现DSL269
22.3 内置DSL270
22.4 本章小结271
第23章 异步编程272
23.1 线程与进程272
23.2 线程的使用272
23.3 了解协程274
23.4 协程的使用274
23.4.1 配置依赖274
23.4.2 协程构建器——创建协程275
23.4.3 Job类——控制协程277
23.4.4 协程状态和协程取消278
23.5 挂起函数284
23.6 async函数与await()方法285
23.6.1 async()函数285
23.6.2 await()方法287
23.7 协程上下文与协程调度器287
23.7.1 上下文与调度器287
23.7.2 使用协程调度器289
23.8 协程作用域290
23.8.1 协程的父子关系290
23.8.2 协程中的异常291
23.9 调试协程292
23.10 本章小结293
第24章 与Java之间的调用295
24.1 用Kotlin调用Java程序295
24.1.1 标识符295
24.1.2 类型映射296
24.1.3 可空类型与平台类型298
24.1.4 Setter与Getter方法299
24.1.5 Object类300
24.1.6 静态成员301
24.1.7 SAM类型302
24.1.8 泛型303
24.1.9 检查异常303
24.1.10 JNI304
24.2 用Java调用Kotlin程序304
24.2.1 属性304
24.2.2 可空类型305
24.2.3 实例字段305
24.2.4 类字段306
24.2.5 静态方法307
24.2.6 访问控制符308
24.2.7 KClass308
24.2.8 方法重载308
24.2.9 顶层成员309
24.2.10 @JvmName注解310
24.2.11 型变312
24.2.12 检查异常312
24.3 本章小结313
第5篇 项目实战
第25章 用Kotlin编写“图书管理系统”的后端应用316
25.1 建立Spring Boot工程316
25.2 实现Persistence层319
25.3 实现Resource层326
25.4 实现Service层330
25.5 允许跨域访问333
25.6 运行代码333
第26章 用Kotlin编写“图书管理系统”的Android应用335
26.1 建立Android工程335
26.2 配置工程338
26.3 编写Layout文件341
26.4 编写业务模型344
26.5 创建Sevice345
26.6 创建UI346
26.7 运行工程350
第27章 用Kotlin编写“图书管理系统”的前端应用351
27.1 建立前端工程351
27.2 解析工程352
27.3 调用JavaScript的基础知识354
27.4 React的基础知识355
内容推荐
本书分为五篇,分别是准备、入门、进阶、高阶、项目实战,主要内容包括:了解Kotlin;体验Kotlin;第一次动手;变量和常量;数据类型;操作符;流程控制;数组类型;集合类型;映射类型;类与对象;类的进阶用法等。
随便看

 

霍普软件下载网电子书栏目提供海量电子书在线免费阅读及下载。

 

Copyright © 2002-2024 101bt.net All Rights Reserved
更新时间:2025/2/23 0:16:31