计算机
类型
可以朗读
语音朗读
343千字
字数
2018-11-01
发行日期
展开全部
主编推荐语
本书详细讲解Kotlin基础知识、实战案例以及高级知识,实用性强。
内容简介
本书采用传统基础教材的写法,以知识点贯穿本书,并为每个知识点配置案例,要求知识点讲解清楚,案例设计合理,分析简洁明了,实用性强。然后通过一个坦克大战项目整合基础知识,最后讲解Kotlin高级知识。本书的内容大致分为3个部分,第1部分是Kotlin基础知识,第2部分是坦克大战项目,第3部分是Kotlin高级知识。
目录
- 扉页
- 版权页
- 目录
- 内容提要
- 前言
- 第1章 Kotlin入门
- 1.1 Kotlin简介
- 1.1.1 Kotlin的前景
- 1.1.2 Kotlin的特性
- 1.2 Kotlin开发环境搭建
- 1.2.1 Kotlin常用开发工具
- 1.2.2 IntelliJ IDEA的安装
- 1.3 开发第一个Kotlin程序
- 1.4 本章小结
- 第2章 Kotlin编程基础
- 2.1 Kotlin的基本语法
- 2.1.1 Kotlin代码的基本格式
- 2.1.2 Kotlin中的注释
- 2.2 Kotlin中的变量
- 2.2.1 变量的定义
- 2.2.2 变量的数据类型
- 2.3 运算符
- 2.3.1 算术运算符
- 2.3.2 赋值运算符
- 2.3.3 比较运算符
- 2.3.4 逻辑运算符
- 2.4 字符串
- 2.4.1 字符串的定义
- 2.4.2 字符串的常见操作
- 2.5 选择结构语句
- 2.5.1 if条件语句
- 2.5.2 when条件语句
- 2.6 循环结构语句
- 2.6.1 while循环语句
- 2.6.2 do…while循环语句
- 2.6.3 for循环语句
- 2.6.4 循环嵌套
- 2.6.5 forEach循环语句
- 2.6.6 跳转语句(continue、break)
- 2.7 区间
- 2.7.1 正向区间
- 2.7.2 逆向区间
- 2.7.3 步长
- 2.8 数组
- 2.8.1 数组的定义
- 2.8.2 数组的常见操作
- 2.9 变量的类型转换
- 2.9.1 类型检查
- 2.9.2 智能类型转换
- 2.9.3 强制类型转换
- 2.10 空值处理
- 2.10.1 可空类型变量(?)
- 2.10.2 安全调用符(?.)
- 2.10.3 Elvis操作符(?:)
- 2.10.4 非空断言(!!.)
- 2.11 本章小结
- 第3章 函数
- 3.1 函数的介绍
- 3.1.1 函数的定义
- 3.1.2 函数的类型
- 3.1.3 单表达式函数
- 3.1.4 函数的参数
- 3.2 函数的分类
- 3.2.1 顶层函数
- 3.2.2 成员函数
- 3.2.3 局部函数
- 3.2.4 递归函数
- 3.2.5 尾递归函数
- 3.2.6 函数重载
- 3.3 本章小结
- 第4章 面向对象
- 4.1 面向对象的概念
- 4.2 类与对象
- 4.2.1 类的定义
- 4.2.2 对象的创建
- 4.2.3 类的封装
- 4.3 构造函数
- 4.3.1 主构函数
- 4.3.2 this关键字
- 4.3.3 次构函数
- 4.4 类的继承
- 4.4.1 类的继承
- 4.4.2 方法重写
- 4.4.3 super关键字
- 4.5 抽象类和接口
- 4.5.1 抽象类
- 4.5.2 接口
- 4.6 常见类
- 4.6.1 嵌套类
- 4.6.2 内部类
- 4.6.3 枚举类
- 4.6.4 密封类
- 4.6.5 数据类
- 4.6.6 单例模式
- 4.6.7 伴生对象
- 4.7 委托
- 4.7.1 类委托
- 4.7.2 属性委托
- 4.7.3 延迟加载
- 4.8 异常
- 4.8.1 什么是异常
- 4.8.2 try…catch和finally
- 4.8.3 throw关键字
- 4.8.4 受检异常
- 4.8.5 自定义异常
- 4.9 本章小结
- 第5章 集合
- 5.1 集合概述
- 5.2 List接口
- 5.2.1 List接口简介
- 5.2.2 不可变List
- 5.2.3 可变MutableList
- 5.3 Set接口
- 5.3.1 Set接口简介
- 5.3.2 不可变Set
- 5.3.3 可变MutableSet
- 5.4 Map接口
- 5.4.1 Map接口简介
- 5.4.2 不可变Map
- 5.4.3 可变MutableMap
- 5.5 本章小结
- 第6章 Lambda编程
- 6.1 Lambda表达式入门
- 6.1.1 Lambda表达式简介
- 6.1.2 Lambda表达式返回值
- 6.2 高阶函数的使用
- 6.2.1 函数作为参数使用
- 6.2.2 函数作为参数优化
- 6.2.3 函数作为返回值
- 6.3 标准库中的高阶函数
- 6.3.1 高阶函数操作集合
- 6.3.2 标准库中的高阶函数
- 6.4 内联函数
- 6.4.1 使用内联函数
- 6.4.2 禁用内联函数
- 6.5 本章小结
- 第7章 泛型
- 7.1 泛型的定义
- 7.2 泛型的分类
- 7.2.1 泛型类
- 7.2.2 泛型接口
- 7.2.3 泛型方法
- 7.3 泛型约束
- 7.3.1 泛型约束的必要性
- 7.3.2 泛型约束<T:类或接口>
- 7.4 子类和子类型
- 7.4.1 继承与子类型
- 7.4.2 接口与子类型
- 7.4.3 可空类型的子类型
- 7.5 协变与逆变
- 7.5.1 协变
- 7.5.2 逆变
- 7.5.3 点变型
- 7.6 泛型擦除与实化类型
- 7.6.1 泛型擦除
- 7.6.2 泛型通配符
- 7.6.3 实化类型
- 7.7 本章小结
- 第8章 Gradle
- 8.1 Gradle简介
- 8.2 Gradle程序
- 8.2.1 第一个Gradle程序
- 8.2.2 Java代码与Kotlin代码共存
- 8.3 Gradle的任务
- 8.3.1 Gradle中的project和task
- 8.3.2 Gradle任务的依赖
- 8.3.3 Gradle任务的生命周期
- 8.3.4 Gradle任务集
- 8.3.5 Gradle默认属性和任务
- 8.3.6 Gradle增量式更新任务
- 8.4 Gradle的依赖
- 8.4.1 Gradle的依赖包管理
- 8.4.2 公共仓库和依赖配置
- 8.5 Gradle扩展
- 8.5.1 Gradle插件自定义扩展
- 8.5.2 Gradle调用外部扩展
- 8.6 本章小结
- 第9章 协程
- 9.1 协程简介
- 9.1.1 协程概述
- 9.1.2 协程的定义
- 9.1.3 线程与协程实现对比
- 9.2 协程的基本操作
- 9.2.1 协程挂起
- 9.2.2 挂起函数
- 9.2.3 主协程
- 9.2.4 协程中的Job任务
- 9.2.5 普通线程和守护线程
- 9.2.6 线程与协程效率对比
- 9.3 协程取消
- 9.3.1 协程取消
- 9.3.2 协程取消失效
- 9.3.3 定时取消
- 9.3.4 挂起函数的执行顺序
- 9.3.5 通过async启动协程
- 9.3.6 协程上下文和调度器
- 9.3.7 父子协程
- 9.4 管道
- 9.4.1 管道简介
- 9.4.2 管道的关闭
- 9.4.3 生产者与消费者
- 9.4.4 管道缓存区
- 9.5 本章小结
- 第10章 坦克大战
- 10.1 项目介绍
- 10.1.1 项目概述
- 10.1.2 开发环境
- 10.1.3 效果展示
- 10.2 项目搭建
- 10.2.1 项目创建
- 10.2.2 添加游戏引擎
- 10.3 窗体设计
- 10.4 绘制游戏元素
- 10.4.1 绘制墙和草坪
- 10.4.2 绘制地图
- 10.4.3 绘制我方坦克
- 10.5 我方坦克移动
- 10.5.1 坦克的移动
- 10.5.2 移动碰撞处理
- 10.6 子弹
- 10.6.1 绘制子弹
- 10.6.2 计算子弹的位置
- 10.6.3 子弹飞行
- 10.6.4 销毁脱离窗体的子弹
- 10.6.5 子弹的攻与受
- 10.6.6 爆炸物的显示
- 10.7 敌方坦克
- 10.7.1 敌方坦克绘制
- 10.7.2 敌方坦克的移动
- 10.7.3 敌方坦克自动发射子弹
- 10.7.4 双方坦克的相互伤害
- 10.8 大本营
- 10.8.1 绘制大本营
- 10.8.2 实现大本营特性
- 10.9 游戏结束与打包
- 10.9.1 游戏的结束
- 10.9.2 Gradle打包游戏
- 10.10 本章小结
- 第11章 DSL
- 11.1 DSL简介
- 11.1.1 DSL概述
- 11.1.2 DSL程序
- 11.2 DSL的使用
- 11.2.1 打印简单的HTML标签
- 11.2.2 打印复杂的HTML标签
- 11.3 Anko插件
- 11.4 本章小结
- 第12章 Kotlin与Java互操作
- 12.1 在Kotlin中调用Java
- 12.1.1 调用Java中的getter/setter方法
- 12.1.2 调用Java中的@NotNull注解
- 12.1.3 调用Java中的静态成员
- 12.1.4 SAM转换
- 12.2 在Java中调用Kotlin
- 12.2.1 调用Kotlin中的包级函数
- 12.2.2 调用Kotlin中的实例字段
- 12.2.3 调用Kotlin中的静态字段和方法
- 12.2.4 调用Kotlin中的集合类
- 12.2.5 显式申明Kotlin中的异常
- 12.2.6 关键字冲突的互操作
- 12.3 Kotlin与Java中的操作对比
- 12.3.1 语法格式对比
- 12.3.2 异常检查对比
- 12.3.3 可变参数对比
- 12.3.4 类的class对象对比
- 12.3.5 成员控制权限对比
- 12.3.6 默认参数函数对比
- 12.4 本章小结
- 第13章 时钟
- 13.1 时钟项目简介
- 13.1.1 项目概述
- 13.1.2 开发环境
- 13.2 创建时钟项目
- 13.2.1 创建项目
- 13.2.2 初始化画布
- 13.3 绘制基本元素
- 13.3.1 绘制直线、三角形、矩形
- 13.3.2 绘制圆形
- 13.3.3 填充图形
- 13.3.4 绘制文本
- 13.4 绘制时钟
- 13.4.1 绘制时钟的圆环
- 13.4.2 绘制60个圆点
- 13.4.3 绘制时钟的数字
- 13.4.4 绘制时钟的指针
- 13.4.5 设置当前时间
- 13.5 本章小结
展开全部
出版方
人民邮电出版社
人民邮电出版社是工业和信息化部主管的大型专业出版社,成立于1953年10月1日。人民邮电出版社坚持“立足信息产业、面向现代社会、传播科学知识、服务科教兴国”,致力于通信、计算机、电子技术、教材、少儿、经管、摄影、集邮、旅游、心理学等领域的专业图书出版。