• 【正版】Kotlin从入门到进阶实战9787302508724
  • 【正版】Kotlin从入门到进阶实战9787302508724
  • 【正版】Kotlin从入门到进阶实战9787302508724
  • 【正版】Kotlin从入门到进阶实战9787302508724
  • 【正版】Kotlin从入门到进阶实战9787302508724
21年品牌 40万+商家 超1.5亿件商品

【正版】Kotlin从入门到进阶实战9787302508724

15.19 2.2折 69.8 九品

仅1件

天津宝坻
认证卖家担保交易快速发货售后保障

作者陈光剑

出版社清华大学出版社

ISBN9787302508724

出版时间2018-09

装帧其他

开本16开

定价69.8元

货号9787302508724

上书时间2024-09-02

代号永恒图书专营店

已实名 已认证 进店 收藏店铺

   商品详情   

品相描述:九品
商品描述
作者简介
陈光剑,笔名一剑。资深程序员,现就职于阿里巴巴集团。有丰富的平台开发经验,曾经参与了多种平台工具的开发。使用Java、Android、Scala、Groovy和Kotlin等语言或工具进行领域建模、架构设计和工具开发等,积累了大量经验。善于总结,乐于分享,发布过大量技术文章,并著有《Kotlin极简教程》一书,深受读者好评。

目录
目    录
第1章  Kotlin是什么1
1.1  初识Kotlin1
1.2  语言特性2
1.2.1  Kotlin与Java完全互操作3
1.2.2  扩展函数与扩展属性4
1.2.3  不可空类型与空安全5
1.2.4  一等函数支持6
1.2.5  智能类型推断6
1.3  编程哲学6
1.4  学习工具7
1.4.1  云端IDE7
1.4.2  命令行REPL7
1.4.3  使用IDEA8
1.5  为什么要学Kotlin9
1.6  JVM语言生态12
1.7  本章小结16
第2章  Kotlin语法基础17
2.1  变量和标识符17
2.2  关键字与修饰符18
2.3  流程控制语句21
2.3.1  if表达式22
2.3.2  when表达式23
2.3.3  for循环24
2.3.4  while循环25
2.3.5  break和continue26
2.3.6  return返回26
2.3.7  标签(label)29
2.3.8  throw表达式30
2.4  操作符与重载30
2.4.1  操作符优先级31
2.4.2  一元操作符32
2.4.3  二元操作符33
2.5  包声明38
2.6  本章小结40
第3章  类型系统与可空类型41
3.1  类型系统41
3.1.1  类型系统的作用41
3.1.2  Java类型系统42
3.1.3  Kotlin类型系统43
3.2  可空类型45
3.3  安全操作符46
3.3.1  安全调用符“?”47
3.3.2  非空断言“!!”48
3.3.3  Elvis运算符“?:”48
3.4  特殊类型48
3.4.1  Unit类型48
3.4.2  Nothing与Nothing?类型49
3.4.3  Any与Any?类型51
3.5  类型检测与类型转换52
3.5.1  is运算符52
3.5.2  类型自动转换53
3.5.3  as运算符54
3.6  本章小结54
第4章  类与面向对象编程55
4.1  面向对象编程简史55
4.2  声明类58
4.2.1  空类58
4.2.2  声明类和构造函数58
4.3  抽象类与接口61
4.3.1  抽象类与抽象成员62
4.3.2  接口64
4.4  object对象65
4.5  数据类66
4.5.1  创建数据类66
4.5.2  数据类自动创建的函数69
4.5.3  数据类的语法限制69
4.5.4  Pair和Triple69
4.6  注解70
4.7  枚举72
4.8  内部类73
4.8.1  普通嵌套类73
4.8.2  嵌套内部类74
4.8.3  匿名内部类74
4.9  本章小结75
第5章  函数与函数式编程76
5.1  函数式编程简介77
5.2  声明函数77
5.3  Lambda表达式78
5.4  高阶函数79
5.5  Kotlin中的特殊函数80
5.5.1  run()函数80
5.5.2  apply()函数81
5.5.3  let()函数82
5.5.4  also()函数83
5.5.5  with()函数83
5.6  本章小结84
第6章  扩展函数与属性85
6.1  扩展函数86
6.1.1  给String类扩展两个函数86
6.1.2  给List类扩展一个过滤函数87
6.2  扩展属性89
6.3  扩展的实现原理90
6.4  扩展中的this关键字91
6.5  本章小结91
第7章  集合类92
7.1  集合类概述92
7.1.1  常用的3种集合类92
7.1.2  Kotlin集合类继承层次93
7.2  不可变集合类94
7.3  创建集合类95
7.4  遍历集合中的元素97
7.5  映射函数98
7.6  过滤函数99
7.7  排序函数100
7.8  元素去重101
7.9  本章小结101
第8章  泛型102
8.1  为何引入泛型102
8.2  在类、接口和函数上使用泛型104
8.2.1  泛型接口104
8.2.2  泛型类105
8.2.3  泛型函数106
8.3  类型上界106
8.4  协变与逆变106
8.4.1  协变108
8.4.2  逆变111
8.4.3  PECS111
8.5  out T与in T112
8.6  类型擦除112
8.7  本章小结113
第9章  文件I/O操作、正则表达式与多线程114
9.1  文件I/O操作114
9.1.1  读文件115
9.1.2  写文件116
9.1.3  遍历文件树117
9.2  网络I/O118
9.3  执行Shell命令119
9.4  正则表达式120
9.4.1  构造Regex表达式120
9.4.2  Regex函数120
9.4.3  使用Java的正则表达式类123
9.5  多线程编程123
9.5.1  创建线程123
9.5.2  同步方法和块125
9.5.3  可变字段125
9.6  本章小结126
第10章  使用Kotlin创建DSL127
10.1  什么是DSL127
10.1.1  内部DSL128
10.1.2  外部DSL128
10.2  Kotlin的DSL特性支持129
10.3  实现集合类的流式Kotlin DSL130
10.4  实现一个SQL风格的集合类131
10.5  本章小结133
第11章  运算符重载与约定134
11.1  什么是运算符重载134
11.2  重载二元算术运算符137
11.3  重载自增自减一元运算符139
11.4  重载比较运算符141
11.5  重载计算赋值运算符143
11.6  本章小结144
第12章  元编程、注解与反射145
12.1  元编程简介145
12.2  注解146
12.2.1  声明注解146
12.2.2  使用注解147
12.2.3  处理注解149
12.3  反射151
12.3.1  类引用152
12.3.2  函数引用153
12.3.3  属性引用153
12.3.4  绑定函数和属性引用154
12.4  使用反射获取泛型信息154
12.5  本章小结158
第13章  Kotlin集成Spring Boot服务端开发159
13.1  用Spring Boot快速开发Restful Hello World159
13.1.1  Spring Initializr159
13.1.2  创建Spring Boot项目160
13.2  系统功能与技术栈167
13.3  准备工作167
13.4  配置数据层170
13.5  数据持久层开发170
13.5.1  数据库表结构170
13.5.2  配置JPA171
13.6  JSON数据解析175
13.7  数据入库逻辑实现176
13.8  定时调度任务177
13.9  HTTP接口开发178
13.9.1  实现分页查询接口178
13.9.2  @Query注解与 #{#entityName}179
13.9.3  Pageable与Page180
13.10  视图模板开发184
13.10.1  前端代码结构185
13.10.2  实现后端分页187
13.10.3  实现收藏和删除图片的功能191
13.10.4  搜索关键字管理194
13.10.5  使用协程实现异步爬虫任务200
13.10.6  图片存入数据库并在前端展现201
13.11  本章小结203
第14章  使用Kotlin进行Android开发204
14.1  快速开发Hello World205
14.1.1  准备工作205
14.1.2  创建基于Kotlin的Android项目207
14.1.3  工程目录文件说明210
14.1.4  安装运行213
14.2  综合项目实战:开发一个电影指南应用程序214
14.2.1  创建 Kotlin Android 项目214
14.2.2  启动主类ItemListActivity219
14.2.3  AppCompatActivity类介绍222
14.2.4  Activity生命周期224
14.2.5  Kotlin Android Extensions插件226
14.2.6  详情页ItemDetailActivity231
14.2.7  碎片事务类FragmentTransaction235
14.2.8  Fragment 生命周期239
14.2.9  测试数据类DummyContent244
14.2.10  创建领域对象类Movie244
14.2.11  JSON数据解析245
14.2.12  电影列表页面246
14.2.13  视图数据适配器ViewAdapter250
14.2.14  视图中图像的展示251
14.2.15  电影详情页面253
14.2.16  电影源数据的获取257
14.2.17  配置 AndroidManifest.xml259
14.2.18  打包安装测试259
14.3  本章小结260

内容摘要
\"《Kotlin从入门到进阶实战》从Kotlin语言的基础语法讲起,逐步深入到Kotlin进阶实战,并在最后配合项目实战案例,重点介绍了使用Kotlin+SpringBoot进行服务端开发和使用Kotlin进行Android应用程序开发的内容,让读者不但可以系统地学习Kotlin编程的相关知识,而且还能对Kotlin应用开发有更为深入的理解。
本书分为14章,涵盖的主要内容有Kotlin简介,Kotlin语法基础,类型系统与可空类型,类与面向对象编程,函数与函数式编程,扩展函数与属性,集合类,泛型,文件I/O操作、正则表达式与多线程,使用Kotlin创建DSL,运算符重载与约定,元编程、注解与反射,Kotlin集成SpringBoot服务端开发,使用Kotlin进行Android开发。
本书内容通俗易懂,案例丰富,实用性强,特别适合Kotlin语言的入门读者和进阶读者阅读,也适合Android程序员、Java程序员等其他编程爱好者阅读,还适合作为相关培训机构的教材。
\"

精彩内容
第3章类型系统与可空类型  与Java、C和C++语言一样,Kotlin语言也是“静态类型的编程语言”。通常,编程语言中的类型系统中定义了:*如何将数值和表达式归为不同的类型;*如何操作这些类型;*这些类型之间如何互相作用。
  我们在编程语言中使用类型的目的是为了让编译器能够确定类型所关联的对象需要分配多少空间。
  类型系统在各种语言之间有非常大的差异,主要的差异表现在编译时期的语法及运行时期的操作实现方式上。在每一种编程语言中,都有一个特定的类型系统。静态类型在编译时期就能可靠地发现类型错误,因此通常能增进最终程序的可靠性。然而,有多少的类型错误发生,以及有多少比例的错误能被静态类型所捕获,仍有争论。
  本章简单介绍一下Kotlin的类型系统。
3.1类型系统
  定型(typing,又称类型指派)的过程就是赋予一组比特以具体的意义。类型通常和存储器中的数值或对象(如变量)相联系。因为在计算机中,任何数值都是由一组简单的比特位组成的,硬件无法区分存储器地址、脚本、字符、整数及浮点数。类型可以告知程序和程序设计者,应该怎么对待那些比特位。
3.1.1类型系统的作用  使用类型系统,编译器可以检查无意义的、无效的、类型不匹配等错误代码。这也正是强类型语言能够提供更多的代码安全性保障的原因之一。
  另外,静态类型检查还可以提供有用的信息给编译器。与动态类型语言相比,由于有了类型的显式声明,静态类型的语言更加易读好懂。
  有了类型,我们还可以更好地做抽象化、模块化的工作。这使得我们可以在较高抽象层次思考并解决问题。例如,Java中的字符数组char[]s={'a','b','c'}和字符串类型Stringstr=\"abc\"就是最简单、最典型的抽象封装实例。下面分别举例说明。
  字符数组代码示例如下:jshell>char[]s={'a','b','c'}//字符数组s==>char[3]{'a','b','c'}jshell>s[0]//访问第一个元素,注意下标是0$3==>'a'jshell>s[1]$4==>'b'jshell>s[2]$5==>'c'  
  字符串代码示例如下:  
jshell>Stringstr=\"abc\"//声明字符串str==>\"abc\"jshell>str.toCharArray();//String类型转换成字符数组$7==>char[3]{'a','b','c'}3.1.2Java类型系统
  Java类型系统可以简单用下面的图3-1来表示。

   相关推荐   

—  没有更多了  —

以下为对购买帮助不大的评价

此功能需要访问孔网APP才能使用
暂时不用
打开孔网APP