课程试听
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.细节处理