Kotlin从基础到实战PDF电子书下载
- 电子书积分:11 积分如何计算积分?
- 作 者:黑马程序员编著
- 出 版 社:北京:人民邮电出版社
- 出版年份:2019
- ISBN:9787115494405
- 页数:284 页
第1章 Kotlin入门 1
1.1 Kotlin简介 1
1.1.1 Kotlin的前景 1
1.1.2 Kotlin的特性 2
1.2 Kotlin开发环境搭建 3
1.2.1 Kotlin常用开发工具 3
1.2.2 IntelliJ IDEA的安装 3
1.3 开发第一个Kotlin程序 6
1.4 本章小结 10
第2章 Kotlin编 程基础 11
2.1 Kotlin的基本语法 11
2.1.1 Kotlin代码的基本格式 11
2.1.2 Kotlin中的注释 12
2.2 Kotlin中的变量 13
2.2.1 变量的定义 13
2.2.2 变量的数据类型 14
2.3 运算符 16
2.3.1 算术运算符 16
2.3.2 赋值运算符 17
2.3.3 比较运算符 18
2.3.4 逻辑运算符 18
2.4 字符串 19
2.4.1 字符串的定义 19
2.4.2 字符串的常见操作 20
2.5 选择结构语句 25
2.5.1 if条件语句 26
2.5.2 when条件语句 30
2.6 循环结构语句 32
2.6.1 while循环语句 32
2.6.2 do…while循环语句 33
2.6.3 for循环语句 34
2.6.4 循环嵌套 35
2.6.5 forEach循环语句 36
2.6.6 跳转语句(continue、break) 37
2.7 区间 39
2.7.1 正向区间 39
2.7.2 逆向区间 40
2.7.3 步长 40
2.8 数组 41
2.8.1 数组的定义 41
2.8.2 数组的常见操作 43
2.9 变量的类型转换 47
2.9.1 类型检查 47
2.9.2 智能类型转换 47
2.9.3 强制类型转换 48
2.10 空值处理 49
2.10 .1 可空类型变量(?) 49
2.10 .2 安全调用符(?.) 50
2.10 .3 Elvis操作符(?:) 50
2.10 .4 非空断言(!!.) 51
2.11 本章小结 52
第3章 函数 53
3.1 函数的介绍 53
3.1.1 函数的定义 53
3.1.2 函数的类型 54
3.1.3 单表达式函数 55
3.1.4 函数的参数 56
3.2 函数的分类 59
3.2.1 顶层函数 59
3.2.2 成员函数 60
3.2.3 局部函数 61
3.2.4 递归函数 62
3.2.5 尾递归函数 62
3.2.6 函数重载 64
3.3 本章小结 65
第4章 面向对象 66
4.1 面向对象的概念 66
4.2 类与对象 67
4.2.1 类的定义 67
4.2.2 对象的创建 67
4.2.3 类的封装 68
4.3 构造函数 69
4.3.1 主构函数 70
4.3.2 this关键字 70
4.3.3 次构函数 71
4.4 类的继承 72
4.4.1 类的继承 72
4.4.2 方法重写 73
4.4.3 super关键字 74
4.5 抽象类和接口 76
4.5.1 抽象类 76
4.5.2 接口 77
4.6 常见类 79
4.6.1 嵌套类 79
4.6.2 内部类 80
4.6.3 枚举类 80
4.6.4 密封类 81
4.6.5 数据类 82
4.6.6 单例模式 82
4.6.7 伴生对象 83
4.7 委托 84
4.7.1 类委托 84
4.7.2 属性委托 85
4.7.3 延迟加载 87
4.8 异常 87
4.8.1 什么是异常 87
4.8.2 try…catch和finally 88
4.8.3 throw关键字 91
4.8.4 受检异常 92
4.8.5 自定义异常 93
4.9 本章小结 95
第5章 集合 96
5.1 集合概述 96
5.2 List接口 98
5.2.1 List接口简介 98
5.2.2 不可变List 98
5.2.3 可变MutableList 101
5.3 Set接口 104
5.3.1 Set接口简介 104
5.3.2 不可变Set 104
5.3.3 可变MutableSet 106
5.4 Map接口 107
5.4.1 Map接口简介 107
5.4.2 不可变Map 107
5.4.3 可变MutableMap 109
5.5 本章小结 110
第6章 Lambda编 程 111
6.1 Lambda表达式入门 111
6.1.1 Lambda表达式简介 111
6.1.2 Lambda表达式返回值 113
6.2 高阶函数的使用 114
6.2.1 函数作为参数使用 115
6.2.2 函数作为参数优化 115
6.2.3 函数作为返回值 118
6.3 标准库中的高阶函数 119
6.3.1 高阶函数操作集合 119
6.3.2 标准库中的高阶函数 123
6.4 内联函数 127
6.4.1 使用内联函数 127
6.4.2 禁用内联函数 128
6.5 本章小结 128
第7章 泛型 129
7.1 泛型的定义 129
7.2 泛型的分类 130
7.2.1 泛型类 130
7.2.2 泛型接口 131
7.2.3 泛型方法 132
7.3 泛型约束 133
7.3.1 泛型约束的必要性 133
7.3.2 泛型约束〈T:类或接口〉 134
7.4 子类和子类型 136
7.4.1 继承与子类型 136
7.4.2 接口与子类型 137
7.4.3 可空类型的子类型 137
7.5 协变与逆变 139
7.5.1 协变 139
7.5.2 逆变 140
7.5.3 点变型 141
7.6 泛型擦除与实化类型 142
7.6.1 泛型擦除 142
7.6.2 泛型通配符 143
7.6.3 实化类型 144
7.7 本章小结 145
第8章 Gradle 146
8.1 Gradle简介 146
8.2 Gradle程序 147
8.2.1 第一个Gradle程序 147
8.2.2 Java代码与Kotlin代码共存 152
8.3 Gradle的任务 153
8.3.1 Gradle中的project和task 153
8.3.2 Gradle任务的依赖 154
8.3.3 Gradle任务的生命周期 155
8.3.4 Gradle任务集 157
8.3.5 Gradle默认属性和任务 158
8.3.6 Gradle增量式更新任务 160
8.4 Gradle的依赖 162
8.4.1 Gradle的依赖包管理 162
8.4.2 公共仓库和依赖配置 162
8.5 Gradle扩展 164
8.5.1 Gradle插件自定义扩展 164
8.5.2 Gradle调用外部扩展 165
8.6 本章小结 167
第9章 协程 168
9.1 协程简介 168
9.1.1 协程概述 168
9.1.2 协程的定义 169
9.1.3 线程与协程实现对比 169
9.2 协程的基本操作 171
9.2.1 协程挂起 171
9.2.2 挂起函数 172
9.2.3 主协程 172
9.2.4 协程中的Job任务 173
9.2.5 普通线程和守护线程 175
9.2.6 线程与协程效率对比 176
9.3 协程取消 177
9.3.1 协程取消 177
9.3.2 协程取消失效 180
9.3.3 定时取消 181
9.3.4 挂起函数的执行顺序 182
9.3.5 通过async启动协程 183
9.3.6 协程上下文和调度器 184
9.3.7 父子协程 185
9.4 管道 186
9.4.1 管道简介 186
9.4.2 管道的关闭 187
9.4.3 生产者与消费者 188
9.4.4 管道缓存区 189
9.5 本章小结 190
第10章 坦克大战 191
10.1 项目介绍 191
10.1.1 项目概述 191
10.1.2 开发环境 191
10.1.3 效果展示 192
10.2 项目搭建 194
10.2.1 项目创建 194
10.2.2 添加游戏引擎 194
10.3 窗体设计 196
10.4 绘制游戏元素 198
10.4.1 绘制墙和草坪 198
10.4.2 绘制地图 199
10.4.3 绘制我方坦克 201
10.5 我方坦克移动 204
10.5.1 坦克的移动 204
10.5.2 移动碰撞处理 205
10.6 子弹 209
10.6.1 绘制子弹 209
10.6.2 计算子弹的位置 210
10.6.3 子弹飞行 213
10.6.4 销毁脱离窗体的子弹 214
10.6.5 子弹的攻与受 216
10.6.6 爆炸物的显示 220
10.7 敌方坦克 223
10.7.1 敌方坦克绘制 223
10.7.2 敌方坦克的移动 224
10.7.3 敌方坦克自动发射子弹 227
10.7.4 双方坦克的相互伤害 229
10.8 大本营 232
10.8.1 绘制大本营 232
10.8.2 实现大本营特性 234
10.9 游戏结束与打包 236
10.9.1 游戏的结束 236
10.9.2 Gradle打包游戏 240
10.10 本章小结 242
第11章 DSL 243
11.1 DSL简介 243
11.1.1 DSL概述 243
11.1.2 DSL程序 244
11.2 DSL的使用 246
11.2.1 打印简单的HTML标签 246
11.2.2 打印复杂的HTML标签 247
11.3 Anko插件 249
11.4 本章小结 250
第12章 Kotlin与Java互操作 251
12.1 在Kotlin中调用Java 251
12.1.1 调用Java中的getter/setter方法 251
12.1.2 调用Java中的@NotNull注解 252
12.1.3 调用Java中的静态成员 253
12.1.4 SAM转换 254
12.2 在Java中调用Kotlin 255
12.2.1 调用Kotlin中的包级函数 255
12.2.2 调用Kotlin中的实例字段 256
12.2.3 调用Kotlin中的静态字段和方法 257
12.2.4 调用Kotlin中的集合类 258
12.2.5 显式申明Kotlin中的异常 259
12.2.6 关键字冲突的互操作 260
12.3 Kotlin与Java中的操作对比 261
12.3.1 语法格式对比 261
12.3.2 异常检查对比 263
12.3.3 可变参数对比 264
12.3.4 类的class对象对比 265
12.3.5 成员控制权限对比 266
12.3.6 默认参数函数对比 267
12.4 本章小结 268
第13章 时钟 269
13.1 时钟项目简介 269
13.1.1 项目概述 269
13.1.2 开发环境 269
13.2 创建时钟项目 270
13.2.1 创建项目 270
13.2.2 初始化画布 271
13.3 绘制基本元素 273
13.3.1 绘制直线、三角形、矩形 273
13.3.2 绘制圆形 275
13.3.3 填充图形 276
13.3.4 绘制文本 277
13.4 绘制时钟 277
13.4.1 绘制时钟的圆环 277
13.4.2 绘制60个圆点 278
13.4.3 绘制时钟的数字 279
13.4.4 绘制时钟的指针 280
13.4.5 设置当前时间 283
13.5 本章小结 284
- 《市政工程基础》杨岚编著 2009
- 《零基础学会素描》王金著 2019
- 《计算机网络与通信基础》谢雨飞,田启川编著 2019
- 《生物质甘油共气化制氢基础研究》赵丽霞 2019
- 《花时间 我的第一堂花艺课 插花基础技法篇》(日)花时间编辑部编;陈洁责编;冯莹莹译 2020
- 《Photoshop CC 2018基础教程》温培利,付华编著 2019
- 《Maya 2018完全实战技术手册》来阳编著 2019
- 《看视频零基础学英语口语》宋德伟 2019
- 《Python3从入门到实战》董洪伟 2019
- 《胃癌基础病理》(日)塚本彻哉编者;宫健,刘石译者 2019
- 《市政工程基础》杨岚编著 2009
- 《家畜百宝 猪、牛、羊、鸡的综合利用》山西省商业厅组织技术处编著 1959
- 《《道德经》200句》崇贤书院编著 2018
- 《高级英语阅读与听说教程》刘秀梅编著 2019
- 《计算机网络与通信基础》谢雨飞,田启川编著 2019
- 《看图自学吉他弹唱教程》陈飞编著 2019
- 《法语词汇认知联想记忆法》刘莲编著 2020
- 《培智学校义务教育实验教科书教师教学用书 生活适应 二年级 上》人民教育出版社,课程教材研究所,特殊教育课程教材研究中心编著 2019
- 《国家社科基金项目申报规范 技巧与案例 第3版 2020》文传浩,夏宇编著 2019
- 《流体力学》张扬军,彭杰,诸葛伟林编著 2019
- 《指向核心素养 北京十一学校名师教学设计 英语 七年级 上 配人教版》周志英总主编 2019
- 《办好人民满意的教育 全国教育满意度调查报告》(中国)中国教育科学研究院 2019
- 《北京生态环境保护》《北京环境保护丛书》编委会编著 2018
- 《人民院士》吴娜著 2019
- 《指向核心素养 北京十一学校名师教学设计 英语 九年级 上 配人教版》周志英总主编 2019
- 《中国人民的心》杨朔著;夕琳编 2019
- 《高等院校旅游专业系列教材 旅游企业岗位培训系列教材 新编北京导游英语》杨昆,鄢莉,谭明华 2019
- 《中华人民共和国成立70周年优秀文学作品精选 短篇小说卷 上 全2册》贺邵俊主编 2019
- 《指向核心素养 北京十一学校名师教学设计 数学 九年级 上 配人教版》周志英总主编 2019
- 《中华人民共和国成立70周年优秀文学作品精选 中篇小说卷 下 全3册》洪治纲主编 2019