您好,欢迎来到聚文网。 登录 免费注册
Kotlin从小白到大牛

Kotlin从小白到大牛

  • 字数: 886000.0
  • 装帧: 平装
  • 出版社: 清华大学出版社
  • 作者: 关东升 著
  • 出版日期: 2018-09-01
  • 商品条码: 9787302505310
  • 版次: 1
  • 开本: 16开
  • 页数: 554
  • 出版年份: 2018
定价:¥128 销售价:登录后查看价格  ¥{{selectedSku?.salePrice}} 
库存: {{selectedSku?.stock}} 库存充足
{{item.title}}:
{{its.name}}
精选
内容简介
本书是一部系统论述Kotlin编程语言、面向对象编程方法以及函数式编程思想的立体化教程(含纸质图书、电子书、教学课件、源代码与视频教程)。全书共分为5篇:第1篇Kotlin基础(第1章~第10章),第2篇面向对象(第11章~第13章),第3篇函数式编程(第14章~第17章),第4篇Kotlin进阶(第18章~第27章),第5篇项目实战(第28章~第29章)。主要内容包括:开篇综述;开发环境搭建;第一个Kotlin程序;Kotlin语法基础;Kotlin编码规范;数据类型;字符串;运算符;程序流程控制;函数;面向对象编程;继承与多态;抽象类与接口;函数式编程基石——高阶函数和Lambda表达式;泛型;数据容器——数组和集合;Kotlin中函数式编程API;异常处理;线程;协程;Kotlin与Java混合编程;Kotlin I/O与文件管理;网络编程;Kotlin与Java Swing图形用户界面编程;轻量级SQL框架——Exposed;反射;注解。最后给出了两个项目设计案例,项目实战1:开发PetStore宠物商店项目;项目实战2:开发Kotlin版QQ2006聊天工具。为便于读者快速掌握Kotlin编程方法,本书作者精心制作了电子书、完整的教学课件、完整的源代码与丰富的配套视频教程,并提供在线答疑服务。
作者简介
关东升,国内著名iOS/Cocos技术作家,iOS技术顾问,Cocos最有价值专家(CVP),智捷课堂首席培训专家。担任51CTO社区iOS技术顾问,精通iOS、Android和Windows及HTML5等移动开发技术。曾先后主持开发大型网络游戏《神农诀》的iOS和Android客户端开发,国家农产品追溯系统的iPad客户端开发,酒店预订系统的iOS客户端开发,金融系统的ios、Windows及Android客户端开发。在AppStore上发布数款游戏和应用软件,擅长移动平台的应用和游戏类项目开发。长期为中国移动研究院、方正科技、大唐电信、中国石油、工商银行、南方航空、惠普、东软、NTT等企事业单位提供技术咨询及员工培训。著有《iOS网络编程与云端应用最佳实践》、《iOS传感器应用开发最佳实践》、《iOS图形图像、动画和多媒体编程技术最佳实践》、《iOS开发指南》、《交互设计的艺术》、《Cocos2d-x实战:C++卷》、《Cocos2d-x实战:Lua卷》、《Cocos2d-x实战:工具卷》、《Cocos2d-x实战:JS卷》等专业图书。
目录
推荐序1
前言3
配套资源说明6
学习路线图7
内容说明9
第1篇Kotlin基础
本篇视频:454分钟
第1章开篇综述2
本章视频:33分钟
1.1Kotlin语言简介2
1.1.1Kotlin语言历史2
1.1.2Kotlin语言设计目标2
1.2Kotlin语言特点3
1.3Kotlin与Java虚拟机4
1.3.1Java虚拟机4
1.3.2Kotlin应用程序运行过程5
1.4如何获得帮助5
第2章开发环境搭建8
本章视频:25分钟
2.1JDK工具包8
2.1.1JDK下载和安装8
2.1.2设置环境变量10
2.2IntelliJIDEA开发工具12
2.3Eclipse开发工具13
2.3.1Eclipse下载和安装13
2.3.2安装Kotlin插件17
2.4Kotlin编译器18
2.4.1下载Kotlin编译器18
2.4.2设置Kotlin编译器环境变量19
2.5文本编辑工具20
2.5.1在SublimeText中安装Kotlin语言包20
2.5.2SublimeText与Kotlin编译器集成21
第3章个Kotlin程序25
本章视频:22分钟
3.1使用REPL实现25
3.2使用IntelliJIDEA实现26
3.2.1创建项目26
3.2.2创建Kotlin源代码文件28
3.2.3编写代码29
3.2.4运行程序30
3.3使用IntelliJIDEA与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
本章视频:52分钟
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
本章视频:49分钟
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
本章视频:45分钟
6.1回顾Java数据类型68
6.2Kotlin基本数据类型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
本章视频:93分钟
7.1字符串字面量82
7.1.1普通字符串82
7.1.2原始字符串83
7.2不可变字符串85
7.2.1String85
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.1StringBuilder94
7.3.2字符串追加、插入、删除和替换95
7.4正则表达式97
7.4.1Regex类97
7.4.2字符串匹配98
7.4.3字符串查找99
7.4.4字符串替换99
7.4.5字符串分割100
第8章运算符102
本章视频:51分钟
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
本章视频:47分钟
9.1if分支结构113
9.1.1if结构当作语句使用113
9.1.2if表达式115
9.2when多分支结构117
9.2.1when结构当作语句使用118
9.2.2when表达式119
9.3循环结构121
9.3.1while语句121
9.3.2do-while语句122
9.3.3for语句122
9.4跳转语句124
9.4.1break语句124
9.4.2continue语句126
9.5使用区间128
9.5.1表示区间128
9.5.2使用in和!in关键字129
第10章函数131
本章视频:37分钟
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篇面向对象
本篇视频:360分钟
第11章面向对象编程142
本章视频:246分钟
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
本章视频:78分钟
12.1Kotlin中的继承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
本章视频:36分钟
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篇函数式编程
本篇视频:302分钟
第14章函数式编程基石——高阶函数和Lambda表达式218
本章视频:91分钟
14.1函数式编程简介218
14.2高阶函数218
14.2.1函数类型219
14.2.2函数字面量220
14.2.3函数作为另一个函数返回值使用221
14.2.4函数作为参数使用222
14.3Lambda表达式223
14.3.1Lambda表达式标准语法格式223
14.3.2使用Lambda表达式225
14.3.3Lambda表达式简化写法225
14.3.4Lambda表达式与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
本章视频:51分钟
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
本章视频:81分钟
16.1数组245
16.1.1对象数组245
16.1.2基本数据类型数组248
16.2集合概述249
16.3Set集合250
16.3.1不可变Set集合250
16.3.2可变Set集合252
16.4List集合254
16.4.1不可变List集合255
16.4.2可变List集合256
16.5Map集合258
16.5.1不可变Map集合259
16.5.2可变Map集合261
第17章Kotlin中函数式编程API264
本章视频:79分钟
17.1函数式编程API与链式调用264
17.2遍历操作265
17.2.1forEach265
17.2.2forEachIndexed266
17.3三大基础函数267
17.3.1filter267
17.3.2map268
17.3.3reduce269
17.4聚合函数270
17.5过滤函数272
17.6映射函数273
17.7排序函数275
17.8案例:求阶乘分钟276
17.9案例:计算水仙花数277
第4篇Kotlin进阶
本篇视频:744分钟
第18章异常处理280
本章视频:67分钟
18.1从一个问题开始280
18.2异常类继承层次281
18.2.1Throwable类281
18.2.2Error和Exception283
18.3捕获异常283
18.3.1try-catch语句284
18.3.2try-catch表达式285
18.3.3多catch代码块286
18.3.4try-catch语句嵌套288
18.4释放资源289
18.4.1finally代码块290
18.4.2自动资源管理293
18.5throw与显式抛出异常294
第19章线程297
本章视频:49分钟
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
本章视频:57分钟
20.1协程介绍308
20.2创建协程308
20.2.1Kotlin协程API308
20.2.2创建支持kotlinx.coroutines的项目309
20.2.3个协程程序310
20.2.4launch函数与Job对象311
20.2.5runBocking函数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
本章视频:77分钟
21.1数据类型映射322
21.1.1Java基本数据类型与Kotlin数据类型映射322
21.1.2Java包装类与Kotlin数据类型映射322
21.1.3Java常用类与Kotlin数据类型映射323
21.1.4Java集合类型与Kotlin数据类型映射323
21.2Kotlin调用Java324
21.2.1避免Kotlin关键字324
21.2.2平台类型与空值325
21.2.3异常检查327
21.2.4调用Java函数式接口327
21.3Java调用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章KotlinI/O与文件管理340
本章视频:49分钟
22.1JavaI/O流概述340
22.1.1Java流设计理念340
22.1.2Java流类继承层次341
22.2字节流343
22.2.1InputStream抽象类344
22.2.2OutputStream抽象类344
22.2.3案例:文件复制345
22.3字符流346
22.3.1Reader抽象类346
22.3.2Writer抽象类346
22.3.3案例:文件复制347
22.4文件管理348
22.4.1File类扩展函数348
22.4.2案例:读取目录文件349
第23章网络编程351
本章视频:115分钟
23.1网络基础351
23.1.1网络结构351
23.1.2TCP/IP协议352
23.1.3IP地址352
23.1.4端口353
23.2TCPSocket低层次网络编程353
23.2.1TCPSocket通信概述353
23.2.2TCPSocket通信过程353
23.2.3Socket类354
23.2.4ServerSocket类356
23.2.5案例:文件上传工具356
23.3UDPSocket低层次网络编程358
23.3.1DatagramSocket类358
23.3.2DatagramPacket类359
23.3.3案例:文件上传工具360
23.4数据交换格式362
23.4.1JSON文档结构363
23.4.2使用第三方JSON库365
23.4.3JSON数据编码和解码366
23.5访问互联网资源368
23.5.1URL的概念368
23.5.2HTTP/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与JavaSwing图形用户界面编程375
本章视频:182分钟
24.1Java图形用户界面技术375
24.2Swing技术基础376
24.2.1Swing类层次结构377
24.2.2Swing程序结构378
24.3事件处理模型381
24.3.1内部类和对象表达式处理事件382
24.3.2Lambda表达式处理事件384
24.3.3使用适配器385
24.4布局管理387
24.4.1FlowLayout布局387
24.4.2BorderLayout布局389
24.4.3GridLayout布局391
24.4.4不使用布局管理器393
24.5Swing组件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
本章视频:91分钟
25.1MySQL数据库管理系统418
25.1.1数据库安装与配置418
25.1.2连接MySQL服务器422
25.1.3常见的管理命令425
25.2Kotlin与DSL语言429
25.3使用Exposed框架430
25.3.1配置项目430
25.3.2面向DSLAPI431
25.3.3面向对象API434
25.4案例:多表连接查询操作436
25.4.1创建数据库437
25.4.2配置SQL日志438
25.4.3实现查询438
第26章反射442
本章视频:34分钟
26.1Kotlin反射API442
26.2引用类443
26.3调用函数445
26.4调用构造函数446
26.5调用属性448
第27章注解451
本章视频:23分钟
27.1元注解451
27.2自定义注解453
27.2.1声明注解453
27.2.2案例:使用元注解454
27.2.3注解目标声明456
27.2.4案例:读取运行时注解信息457
第5篇项目实战
本篇视频:621分钟
第28章项目实战1:开发PetStore宠物商店项目460
本章视频:309分钟
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
本章视频:312分钟
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编写自定义窗口类——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:开发otlin版QQ2006聊天工具507
本章视频:312分钟
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

蜀ICP备2024047804号

Copyright 版权所有 © jvwen.com 聚文网