展开全部

主编推荐语

本书详细讲解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日。人民邮电出版社坚持“立足信息产业、面向现代社会、传播科学知识、服务科教兴国”,致力于通信、计算机、电子技术、教材、少儿、经管、摄影、集邮、旅游、心理学等领域的专业图书出版。