1-1 Kotlin入门
  • 01.kotlin前景
  • 02.kotlin特性
  • 03.Kotlin常用开发工具
  • 04.开发第一个Kotlin程序
  • 05.总结
1-2 Kotlin基本语法
  • 01.Kotlin代码的基本语法格式
  • 02.Kotlin中的注释
  • 03.变量的定义
  • 04.智能类型推断
  • 05.变量的数据类型(一)
  • 06.变量的数据类型(二)
  • 07.变量的数据类型(三)
  • 08.变量的数据类型(四)
  • 09.算术运算符
  • 10.赋值运算符
  • 11.比较运算符和逻辑运算符
  • 12.字符串定义
  • 13.字符串常见操作
  • 14.if条件语句
  • 15.when条件语句
  • 16.while循环语句
  • 17.do while循环语句
  • 18.for循环和嵌套循环
  • 19.foreach循环语句
  • 20.跳转语句
  • 21.区间
  • 22.数组的定义
  • 23.数组常见操作(一)
  • 24.数组常见操作(二)
  • 25.变量的类型转换
  • 26.kotlin空值处理
1-3 Kotlin函数
  • 01.函数的定义
  • 02.函数的类型
  • 03.单表达式函数
  • 04.函数参数(一)
  • 05.函数参数(二)
  • 06.顶层函数
  • 07.成员函数
  • 08.局部函数
  • 09.递归函数
  • 10.尾递归函数
  • 11.函数重载
1-4 Kotlin面向对象
  • 01.类的定义和对象的创建
  • 02.类的封装
  • 03.主构函数
  • 04.this关键字
  • 05.次构函数
  • 06.类的继承
  • 07.方法和属性重写
  • 08.抽象类
  • 09.接口
  • 10.内部类和嵌套类
  • 11.枚举类
  • 12.密封类
  • 13.数据类
  • 14.单例模式
  • 15.伴生对象
  • 16.类委托
  • 17.属性委托
  • 18.延迟加载
  • 19.异常
  • 20.受检异常
  • 21.自定义异常
1-5 Kotlin集合
  • 01.集合概述
  • 02.List接口简介与不可变List
  • 03.可变MutableList
  • 04.Set接口简介与不可变Set
  • 05.可变MutableSet集合
  • 06.Map接口简介与不可变Map
  • 07.可变MutableMap
1-6 Lambda编程
  • 01.Lambda表达式简介
  • 02.Lambda表达式返回值
  • 03.函数作为参数使用
  • 04.函数作为参数优化
  • 05.函数作为返回值
  • 06.高阶函数操作集合
  • 07.标准库中的高阶函数
  • 08.使用内连函数与禁用内联函数
1-7 Kotlin泛型
  • 01.泛型定义
  • 02.泛型类
  • 03.泛型接口与泛型方法
  • 04.泛型约束的必要性
  • 05.泛型约束
  • 06.子类和子类型
  • 07.协变和逆变
  • 08.泛型擦除与实化类型
1-8 Kotlin Gradle
  • 01_程序猿中的原始人
  • 02_Gradle简单介绍
  • 03_Gradle入门演示
  • 04_java代码和kotlin代码共存
  • 05_Gradle中的project和task
  • 06_Gradle任务的依赖
  • 07_gradle任务的生命周期
  • 08_Gradle任务集,默认属性和任务
  • 09_Gradle增量式更新任务
  • 10_gradle依赖管理入门(普通程序员的开发流程)
  • 11_gradle依赖管理(高级程序员如何添加依赖)
  • 12_gradle依赖管理的类比
  • 13_公共仓库和依赖配置
  • 14_Gradle依赖冲突的解决
  • 15_Gradle插件自定义扩展
  • 16_Gradle调用外部扩展
  • 17_gradle的学习方法
1-9 Kotlin协程
  • 01.协程概述
  • 02.协程的定义
  • 03.线程与协程实现对比
  • 04.协程挂起
  • 05.挂起函数
  • 06.主协程
  • 07.协程中的job任务
  • 08.协程中的join()函数
  • 09.普通线程和守护线程
  • 10.提取挂起函数
  • 11.线程和协程效率对比
  • 12.协程启动的是守护线程
  • 13.协程取消
  • 14.协程取消失效问题
  • 15.协程取消失效解决方案1
  • 16.协程取消失效方案2
  • 17.协程取消之后finally代码执行问题
  • 18.不可取消的代码块
  • 19.定时取消
  • 20.挂起函数执行顺序
  • 21.通过async启动协程
  • 22.协程上下文和调度器
  • 23.父子协程
  • 24.管道简介
  • 25.管道的关闭
  • 26.生产者和消费者
  • 27.管道缓存区
1-10 坦克大战
  • 01_介绍
  • 02_项目搭建
  • 03_窗体回调的介绍
  • 04_游戏中坐标,图像,声音,交互
  • 05_游戏中窗体的创建
  • 06_面向对象构建模型
  • 07_坦克大战中地图绘制
  • 08_我方坦克绘制
  • 09_我方坦克的移动
  • 10_移动碰撞检测业务逻辑分析实现-01
  • 11_移动碰撞检测业务逻辑分析实现-02
  • 12_移动碰撞检测业务逻辑分析实现-03
  • 13_结构介绍
  • 14_子弹显示
  • 15_闭包计算子弹的位置
  • 16_子弹方向计算和子弹飞行
  • 17_界面中元素的回收
  • 18_攻与受业务逻辑分析
  • 19_攻与受业务逻辑分析实现-02
  • 20_攻与受业务逻辑分析实现-03
  • 21_爆炸物的显示
  • 22_敌方坦克绘制
  • 23_敌方坦克的自动移动
  • 24_敌方坦克的自动发射子弹
  • 25_双方坦克相互伤害
  • 26_大本营的绘制
  • 27_大本营特性的实现
  • 28_游戏中细节的修复
  • 29_我方游戏结束的实现
  • 30_敌方游戏结束的实现
  • 31_gradle打包游戏
1-11 Kotlin DSL
  • 01.DSL简介
  • 02.DSL程序(一)
  • 03.DSL程序(二)
  • 04.DSL程序(字段定义)
  • 05.DSL程序(address扩展函数)
  • 06.DSL程序(address字段实现和优化)
  • 07.打印简单HTML标签(定义Tag和对应的标签)
  • 08.打印复杂HTML标签(普通api实现html标签打印)
  • 09.打印复杂的HTML标签
  • 10.打印复杂的HTML标签(head扩展函数)
  • 11.打印复杂的HTML标签(title标签处理)
  • 12.打印复杂的HTML标签(body和div标签)
1-12 Kotlin与Java互操作
  • 01.java调用kotlin代码
  • 02.调用java中的getter或setter方法
  • 03.调用java中的@NotNull注解
  • 04.调用java中的静态成员与SAM转换
  • 05.调用Kotlin中的包级函数
  • 06.调用kotlin中的实例字段、静态字段和方法
  • 07.显示申明Kotlin中的异常与关键字冲突的互操作
  • 08.语法格式对比
  • 09.异常检查对比
  • 10.可变参数对比
  • 11.类的class对象对比
  • 12.成员控制权限对比
  • 13.默认参数函数对比
1-13 时钟
  • 01.创建项目并配置kotlin开发js环境
  • 02.初始化画布
  • 03.绘制直线、三角形
  • 04.绘制圆形
  • 05.填充图形
  • 06.绘制文本
  • 07.绘制时钟的圆环
  • 08.绘制60个圆点
  • 09.绘制时钟的数字
  • 10.绘制时针
  • 11.时针修改
  • 12.绘制分针
  • 13.秒针
  • 14.设置当前时间
  • 15.时钟走起来
  • 16.细节处理