图书介绍

Kotlin从小白到大牛【2025|PDF|Epub|mobi|kindle电子书版本百度云盘下载】

Kotlin从小白到大牛
  • 关东升著 著
  • 出版社: 北京:清华大学出版社
  • ISBN:9787302505310
  • 出版时间:2018
  • 标注页数:554页
  • 文件大小:345MB
  • 文件页数:583页
  • 主题词:JAVA语言-程序设计

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
种子下载[BT下载速度快]温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页直链下载[便捷但速度慢]  [在线试读本书]   [在线获取解压码]

下载说明

Kotlin从小白到大牛PDF格式电子书版下载

下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。

建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!

(文件页数 要大于 标注页数,上中下等多册电子书除外)

注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具

图书目录

第1篇 Kotlin基础2

第1章 开篇综述2

1.1 Kotlin语言简介2

1.1.1 Kotlin语言历史2

1.1.2 Kotlin语言设计目标2

1.2 Kotlin语言特点3

1.3 Kotlin与Java虚拟机4

1.3.1 Java虚拟机4

1.3.2 Kotlin应用程序运行过程5

1.4 如何获得帮助5

第2章 开发环境搭建8

2.1 JDK工具包8

2.1.1 JDK下载和安装8

2.1.2 设置环境变量10

2.2 IntelliJ IDEA开发工具12

2.3 Eclipse开发工具13

2.3.1 Eclipse下载和安装13

2.3.2 安装Kotlin插件17

2.4 Kotlin编译器18

2.4.1 下载Kotlin编译器18

2.4.2 设置Kotlin编译器环境变量19

2.5 文本编辑工具20

2.5.1 在Sublime Text中安装Kotlin语言包20

2.5.2 Sublime Text与Kotlin编译器集成21

第3章 第一个Kotlin程序25

3.1 使用REPL实现25

3.2 使用IntelliJ IDEA实现26

3.2.1 创建项目26

3.2.2 创建Kotlin源代码文件28

3.2.3 编写代码29

3.2.4 运行程序30

3.3 使用IntelliJ IDEA与Gradle实现30

3.4 使用Eclipse与Kotlin插件实现33

3.4.1 创建项目33

3.4.2 创建Kotlin源代码文件34

3.4.3 运行程序35

3.5 使用文本编辑工具与Kotlin编译器实现37

3.5.1 编写代码37

3.5.2 编译程序37

3.5.3 运行程序39

3.6 代码解释39

第4章 Kotlin语法基础41

4.1 标识符和关键字41

4.1.1 标识符41

4.1.2 关键字42

4.2 变量和常量43

4.2.1 变量43

4.2.2 常量和只读变量44

4.2.3 使用var还是val45

4.3 注释46

4.4 语句与表达式47

4.4.1 语句48

4.4.2 表达式48

4.5 包49

4.5.1 包的作用49

4.5.2 包的定义50

4.5.3 包的引入51

第5章 Kotlin编码规范53

5.1 命名规范53

5.2 注释规范55

5.2.1 文件注释55

5.2.2 文档注释55

5.2.3 代码注释58

5.2.4 使用地标注释59

5.3 声明60

5.3.1 变量或常量声明60

5.3.2 类声明61

5.4 代码排版62

5.4.1 空行62

5.4.2 空格64

5.4.3 缩进65

5.4.4 断行65

5.5 省略规范66

第6章 数据类型68

6.1 回顾Java数据类型68

6.2 Kotlin基本数据类型69

6.2.1 整型类型70

6.2.2 浮点类型71

6.2.3 字符类型72

6.2.4 布尔类型74

6.3 数值类型之间的转换75

6.3.1 赋值与显式转换75

6.3.2 数学计算与隐式转换77

6.4 可空类型77

6.4.1 可空类型概念78

6.4.2 使用安全调用运算符(?.)78

6.4.3 非空断言运算符(!!)79

6.4.4 使用Elvis运算符(?:)80

第7章 字符串82

7.1 字符串字面量82

7.1.1 普通字符串82

7.1.2 原始字符串83

7.2 不可变字符串85

7.2.1 String85

7.2.2 字符串拼接86

7.2.3 字符串模板87

7.2.4 字符串查找89

7.2.5 字符串比较91

7.2.6 字符串截取93

7.3 可变字符串94

7.3.1 StringBuilder94

7.3.2 字符串追加、插入、删除和替换95

7.4 正则表达式97

7.4.1 Regex类97

7.4.2 字符串匹配98

7.4.3 字符串查找99

7.4.4 字符串替换99

7.4.5 字符串分割100

第8章 运算符102

8.1 算术运算符102

8.1.1 一元运算符102

8.1.2 二元运算符103

8.1.3 算术赋值运算符104

8.2 关系运算符105

8.3 逻辑运算符107

8.4 位运算符108

8.5 其他运算符111

8.6 运算符优先级111

第9章 程序流程控制113

9.1 if分支结构113

9.1.1 if结构当作语句使用113

9.1.2 if表达式115

9.2 when多分支结构117

9.2.1 when结构当作语句使用118

9.2.2 when表达式119

9.3 循环结构121

9.3.1 while语句121

9.3.2 do-while语句122

9.3.3 for语句122

9.4 跳转语句124

9.4.1 break语句124

9.4.2 continue语句126

9.5 使用区间128

9.5.1 表示区间128

9.5.2 使用in和! in关键字129

第10章 函数131

10.1 函数声明131

10.2 返回特殊数据132

10.2.1 无返回数据与Unit类型132

10.2.2 永远不会正常返回数据与Nothing类型133

10.3 函数参数134

10.3.1 使用命名参数调用函数134

10.3.2 参数默认值135

10.3.3 可变参数136

10.4 表达式函数体137

10.5 局部函数137

10.6 匿名函数138

第2篇 面向对象142

第11章 面向对象编程142

11.1 面向对象概述142

11.2 面向对象的三个基本特性143

11.2.1 封装性143

11.2.2 继承性143

11.2.3 多态性144

11.3 类声明144

11.4 属性146

11.4.1 回顾JavaBean146

11.4.2 声明属性147

11.4.3 延迟初始化属性150

11.4.4 委托属性151

11.4.5 惰性加载属性152

11.4.6 可观察属性153

11.5 扩展154

11.5.1 扩展函数155

11.5.2 扩展属性156

11.5.3 “成员优先”原则157

11.5.4 定义中缀运算符159

11.6 构造函数160

11.6.1 主构造函数160

11.6.2 次构造函数162

11.6.3 默认构造函数163

11.7 封装性与可见性修饰符164

11.7.1 可见性范围164

11.7.2 公有可见性166

11.7.3 内部可见性167

11.7.4 保护可见性167

11.7.5 私有可见性168

11.8 数据类169

11.8.1 声明数据类170

11.8.2 使用copy函数171

11.8.3 解构数据类172

11.9 枚举类172

11.9.1 声明枚举类172

11.9.2 枚举类构造函数174

11.9.3 枚举常用属性和函数175

11.10 嵌套类176

11.10.1 嵌套类176

11.10.2 内部类178

11.11 强大的object关键字180

11.11.1 对象表达式180

11.11.2 对象声明182

11.11.3 伴生对象184

第12章 继承与多态188

12.1 Kotlin中的继承188

12.2 调用父类构造函数190

12.2.1 使用主构造函数191

12.2.2 使用次构造函数重载192

12.2.3 使用参数默认值调用构造函数193

12.3 重写成员属性和函数194

12.3.1 重写成员属性194

12.3.2 重写成员函数195

12.4 多态197

12.4.1 多态概念197

12.4.2 使用is和!is进行类型检查199

12.4.3 使用as和as?进行类型转换202

12.5 密封类203

第13章 抽象类与接口206

13.1 抽象类206

13.1.1 抽象类概念206

13.1.2 抽象类声明和实现206

13.2 使用接口209

13.2.1 接口概念209

13.2.2 接口声明和实现209

13.2.3 接口与多继承212

13.2.4 接口继承213

13.2.5 接口中的具体函数和属性214

第3篇 函数式编程218

第14章 函数式编程基石——高阶函数和Lambda表达式218

14.1 函数式编程简介218

14.2高阶函数218

14.2.1 函数类型219

14.2.2 函数字面量220

14.2.3 函数作为另一个函数返回值使用221

14.2.4 函数作为参数使用222

14.3 Lambda表达式223

14.3.1 Lambda表达式标准语法格式223

14.3.2 使用Lambda表达式225

14.3.3 Lambda表达式简化写法225

14.3.4 Lambda表达式与return语句228

14.4 闭包与捕获变量229

14.5 内联函数232

14.5.1 自定义内联函数232

14.5.2 使用let函数233

14.5.3 使用with和apply函数233

第15章 泛型236

15.1 泛型函数236

15.1.1 声明泛型函数236

15.1.2 多类型参数237

15.1.3 泛型约束237

15.1.4 可空类型参数238

15.2 泛型属性239

15.3 泛型类240

15.4 泛型接口242

第16章 数据容器——数组和集合245

16.1 数组245

16.1.1 对象数组245

16.1.2 基本数据类型数组248

16.2 集合概述249

16.3 Set集合250

16.3.1 不可变Set集合250

16.3.2 可变Set集合252

16.4 List集合254

16.4.1 不可变List集合255

16.4.2 可变List集合256

16.5 Map集合258

16.5.1 不可变Map集合259

16.5.2 可变Map集合261

第17章 Kotlin中函数式编程API264

17.1 函数式编程API与链式调用264

17.2 遍历操作265

17.2.1 forEach265

17.2.2 forEachIndexed266

17.3 三大基础函数267

17.3.1 filter267

17.3.2 map268

17.3.3 reduce269

17.4 聚合函数270

17.5 过滤函数272

17.6 映射函数273

17.7 排序函数275

17.8 案例:求阶乘276

17.9 案例:计算水仙花数277

第4篇 Kotlin进阶280

第18章 异常处理280

18.1 从一个问题开始280

18.2 异常类继承层次281

18.2.1 Throwable类281

18.2.2 Error和Exception283

18.3 捕获异常283

18.3.1 try-catch语句284

18.3.2 try-catch表达式285

18.3.3 多catch代码块286

18.3.4 try-catch语句嵌套288

18.4 释放资源289

18.4.1 finally代码块290

18.4.2 自动资源管理293

18.5 throw与显式抛出异常294

第19章 线程297

19.1 基础知识297

19.1.1 进程297

19.1.2 线程297

19.1.3 主线程298

19.2 创建线程299

19.3 线程状态301

19.4 线程管理302

19.4.1 等待线程结束302

19.4.2 线程让步304

19.4.3 线程停止305

第20章 协程308

20.1 协程介绍308

20.2 创建协程308

20.2.1 Kotlin协程API308

20.2.2 创建支持kotlinx…coroutines的项目309

20.2.3 第一个协程程序310

20.2.4 launch函数与Job对象311

20.2.5 runBlocking函数313

20.2.6 挂起函数314

20.3 协程生命周期316

20.4 管理协程317

20.4.1 等待协程结束317

20.4.2 超时设置318

20.4.3 取消协程320

第21章 Kotlin与Java混合编程322

21.1 数据类型映射322

21.1.1 Java基本数据类型与Kotlin数据类型映射322

21.1.2 Java包装类与Kotlin数据类型映射322

21.1.3 Java常用类与Kotlin数据类型映射323

21.1.4 Java集合类型与Kotlin数据类型映射323

21.2 Kotlin调用Java324

21.2.1 避免Kotlin关键字324

21.2.2 平台类型与空值325

21.2.3 异常检查327

21.2.4 调用Java函数式接口327

21.3 Java调用Kotlin328

21.3.1 访问Kotlin属性329

21.3.2 访问包级别成员329

21.3.3 实例字段、静态字段和静态函数330

21.3.4 可见性334

21.3.5 生成重载函数336

21.3.6 异常检查338

第22章 Kotlin I/O与文件管理340

22.1 Java I/O流概述340

22.1.1 Java流设计理念340

22.1.2 Java流类继承层次341

22.2 字节流343

22.2.1 InputStream抽象类344

22.2.2 OutputStream抽象类344

22.2.3 案例:文件复制345

22.3 字符流346

22.3.1 Reader抽象类346

22.3.2 Writer抽象类346

22.3.3 案例:文件复制347

22.4 文件管理348

22.4.1 File类扩展函数348

22.4.2 案例:读取目录文件349

第23章 网络编程351

23.1 网络基础351

23.1.1 网络结构351

23.1.2 TCP/IP协议352

23.1.3 IP地址352

23.1.4 端口353

23.2 TCP Socket低层次网络编程353

23.2.1 TCP Socket通信概述353

23.2.2 TCP Socket通信过程353

23.2.3 Socket类354

23.2.4 ServerSocket类356

23.2.5 案例:文件上传工具356

23.3 UDP Socket低层次网络编程358

23.3.1 DatagramSocket类358

23.3.2 DatagramPacket类359

23.3.3 案例:文件上传工具360

23.4 数据交换格式362

23.4.1 JSON文档结构363

23.4.2 使用第三方JSON库365

23.4.3 JSON数据编码和解码366

23.5 访问互联网资源368

23.5.1 URL的概念368

23.5.2 HTTP/HTTPS协议369

23.5.3 使用URL类369

23.5.4 使用HttpURLConnection发送GET请求370

23.5.5 使用HttpURLConnection发送POST请求372

23.5.6 实例:Downloader373

第24章 Kotlin与Java Swing图形用户界面编程375

24.1 Java图形用户界面技术375

24.2 Swing技术基础376

24.2.1 Swing类层次结构377

24.2.2 Swing程序结构378

24.3 事件处理模型381

24.3.1 内部类和对象表达式处理事件382

24.3.2 Lambda表达式处理事件384

24.3.3 使用适配器385

24.4 布局管理387

24.4.1 FlowLayout布局387

24.4.2 BorderLayout布局389

24.4.3 GridLayout布局391

24.4.4 不使用布局管理器393

24.5 Swing组件395

24.5.1 标签和按钮395

24.5.2 文本输入组件398

24.5.3 复选框和单选按钮401

24.5.4 下拉列表404

24.5.5 列表406

24.5.6 分隔面板407

24.5.7 使用表格409

24.6 案例:图书库存413

第25章 轻量级SQL框架——Exposed418

25.1 MySQL数据库管理系统418

25.1.1 数据库安装与配置418

25.1.2 连接MySQL服务器422

25.1.3 常见的管理命令425

25.2 Kotlin与DSL语言429

25.3 使用Exposed框架430

25.3.1 配置项目430

25.3.2 面向DSL API431

25.3.3 面向对象API434

25.4 案例:多表连接查询操作436

25.4.1 创建数据库437

25.4.2 配置SQL日志438

25.4.3 实现查询438

第26章 反射442

26.1 Kotlin反射API442

26.2 引用类443

26.3 调用函数445

26.4 调用构造函数446

26.5 调用属性448

第27章 注解451

27.1 元注解451

27.2 自定义注解453

27.2.1 声明注解453

27.2.2 案例:使用元注解454

27.2.3 注解目标声明456

27.2.4 案例:读取运行时注解信息457

第5篇 项目实战460

第28章 项目实战1:开发PetStore宠物商店项目460

28.1 系统分析与设计460

28.1.1 项目概述460

28.1.2 需求分析461

28.1.3 原型设计461

28.1.4 数据库设计463

28.1.5 架构设计465

28.1.6 系统设计466

28.2 任务1:创建数据库467

28.2.1 迭代1.1:安装和配置MySQL数据库467

28.2.2 迭代1.2:编写数据库DDL脚本467

28.2.3 迭代1.3:插入初始数据到数据库468

28.3 任务2:初始化项目469

28.3.1 迭代2.1:配置项目469

28.3.2 迭代2.2:添加资源图片470

28.3.3 迭代2.3:添加包471

28.4 任务3:编写数据持久层代码471

28.4.1 迭代3.1:编写实体类471

28.4.2 迭代3.2:创建数据表类474

28.4.3 迭代3.3:编写DAO类475

28.5 任务4:编写表示层代码483

28.5.1 迭代4.1:编写启动类483

28.5.2 迭代4.2:编写自定义窗口类——MyFrame483

28.5.3 迭代4.3:用户登录窗口485

28.5.4 迭代4.4:商品列表窗口487

28.5.5 迭代4.5:商品购物车窗口495

28.6 任务5:应用程序打包发布503

28.6.1 迭代5.1:处理TODO和FIXME任务503

28.6.2 迭代5.2:打包503

第29章 项目实战2:开发Kotlin版QQ2006聊天工具507

29.1 系统分析与设计507

29.1.1 项目概述507

29.1.2 需求分析508

29.1.3 原型设计509

29.1.4 数据库设计509

29.1.5 网络拓扑图512

29.1.6 系统设计512

29.2 任务1:创建服务器端数据库513

29.2.1 迭代1.1:安装和配置MySQL数据库513

29.2.2 迭代1.2:编写数据库DDL脚本514

29.2.3 迭代1.3:插入初始数据到数据库514

29.3 任务2:初始化项目515

29.3.1 任务2.1:配置项目515

29.3.2 任务2.2:添加资源图片516

29.3.3 任务2.3:添加包517

29.4 任务3:编写服务器端外围代码517

29.4.1 任务3.1:创建数据表类517

29.4.2 任务3.2:编写UserDAO类518

29.4.3 任务3.3:编写 ClientInfo类521

29.5 任务4:客户端UI实现521

29.5.1 迭代4.1:登录窗口实现521

29.5.2 迭代4.2:好友列表窗口实现525

29.5.3 迭代4.3:聊天窗口实现529

29.6 任务5:用户登录过程实现533

29.6.1 迭代5.1:客户端启动533

29.6.2 迭代5.2:客户端登录编程535

29.6.3 迭代5.3:服务器启动538

29.6.4 迭代5.4:服务器验证编程539

29.7 任务6:刷新好友列表541

29.7.1 迭代6.1:刷新好友列表服务器端编程542

29.7.2 迭代6.2:刷新好友列表客户端编程543

29.8 任务7:聊天过程实现547

29.8.1 迭代7.1:客户端用户1向用户3发送消息548

29.8.2 迭代7.2:服务器接收用户1消息与转发给用户3消息549

29.8.3 迭代7.3:客户端用户3接收用户1消息551

29.9 任务8:用户下线552

29.9.1 迭代8.1:客户端编程553

29.9.2 迭代8.2:服务器端编程554

热门推荐