Kotlin学习步骤
Kotlin 学习步骤
适合有一点编程基础、想系统掌握 Kotlin 语法的人。建议按「先能写、再写好、最后进入实际方向」的节奏学习。
学习目标
- 掌握 Kotlin 基础语法和常见写法。
- 理解 Kotlin 与 Java 的核心差异。
- 能独立阅读 Kotlin 代码,并完成小型练习项目。
- 为 Android、后端开发或脚本工具开发打好基础。
准备阶段:搭建环境
要做什么
- 安装 IntelliJ IDEA Community 或 Android Studio。
- 安装 JDK 17 或更高版本。
- 创建第一个 Kotlin 项目。
- 学会运行
main函数。
重点概念
- Kotlin 文件后缀:
.kt - 程序入口:
fun main() - Gradle 项目结构
- 标准输出:
println()
练习
fun main() {
println("Hello, Kotlin!")
}
第 1 阶段:基础语法
建议用时:3-5 天。
学习内容
- 变量声明:
val与var - 基本类型:
Int、Long、Double、Boolean、String - 字符串模板:
"Hello, $name" - 条件判断:
if、when - 循环:
for、while - 区间:
1..10、until、downTo、step
学习重点
- 优先使用
val,只有需要修改变量时才使用var。 if和when都可以作为表达式返回值。- Kotlin 没有 Java 那种三元运算符,直接用
if表达式。
练习任务
- 写一个成绩等级判断程序。
- 写一个 1-100 求和程序。
- 写一个猜数字小游戏。
第 2 阶段:函数
建议用时:2-3 天。
学习内容
- 函数声明:
fun - 参数与返回值
- 默认参数
- 命名参数
- 单表达式函数
- Lambda 表达式
示例
fun add(a: Int, b: Int): Int {
return a + b
}
fun multiply(a: Int, b: Int) = a * b
fun greet(name: String = "Kotlin") {
println("Hello, $name")
}
练习任务
- 封装一个计算器函数。
- 写一个判断质数的函数。
- 使用 Lambda 处理一组数字,比如筛选偶数、求平方。
第 3 阶段:空安全
建议用时:2 天。
学习内容
- 可空类型:
String? - 安全调用:
?. - Elvis 操作符:
?: - 非空断言:
!! - 智能类型转换
学习重点
- Kotlin 的空安全是核心特性,一定要熟。
- 少用
!!,它会把空指针风险重新带回来。 - 遇到可能为空的数据,优先使用
?.和?:。
示例
val name: String? = null
val length = name?.length ?: 0
println(length)
练习任务
- 写一个用户昵称展示函数:昵称为空时显示「匿名用户」。
- 写一个字符串长度统计函数:输入为空时返回 0。
第 4 阶段:类与对象
建议用时:4-6 天。
学习内容
- 类:
class - 构造函数
- 属性与方法
data classobject单例- 伴生对象:
companion object - 继承:
open、override - 接口:
interface
学习重点
- Kotlin 的类默认不能继承,需要显式加
open。 data class很适合表示数据模型。object常用于单例、工具对象、配置对象。
示例
data class User(
val id: Long,
val name: String,
val age: Int
)
fun main() {
val user = User(1, "Alice", 20)
println(user)
}
练习任务
- 设计一个
User类。 - 设计一个
Book类和Library类。 - 使用
data class表示商品、订单、用户信息。
第 5 阶段:集合与常用标准库
建议用时:4-5 天。
学习内容
- List、Set、Map
- 可变集合与不可变集合
mapfilterforEachfindgroupBysortedByreduce与fold
学习重点
- Kotlin 集合操作非常常用,是写出简洁代码的关键。
- 区分只读集合和可变集合。
- 多练习链式调用,但不要为了炫技写得过度复杂。
示例
val numbers = listOf(1, 2, 3, 4, 5)
val result = numbers
.filter { it % 2 == 0 }
.map { it * it }
println(result)
练习任务
- 从一组学生中筛选及格学生。
- 按城市分组用户。
- 统计订单总金额。
- 找出价格最高的商品。
第 6 阶段:异常、泛型与扩展
建议用时:3-5 天。
学习内容
- 异常处理:
try、catch、finally - 泛型函数
- 泛型类
- 扩展函数
- 扩展属性
学习重点
try在 Kotlin 中也可以作为表达式。- 扩展函数可以在不修改原类的情况下增加功能。
- 泛型用于提高代码复用性,但初学时不必钻太深。
示例
fun String.firstCharOrEmpty(): String {
return if (this.isNotEmpty()) this[0].toString() else ""
}
fun main() {
println("Kotlin".firstCharOrEmpty())
}
练习任务
- 给
String写一个判断手机号格式的扩展函数。 - 写一个泛型函数,返回列表第一个元素。
- 用
try-catch处理字符串转数字失败的情况。
第 7 阶段:作用域函数
建议用时:2-3 天。
学习内容
letrunwithapplyalso
学习重点
let常用于空安全处理和局部转换。apply常用于对象初始化。also常用于附加操作,比如打印日志。- 不要滥用作用域函数,否则代码会变难读。
示例
val user = User(id = 1, name = "Alice", age = 20)
user.let {
println("User name: ${it.name}")
}
练习任务
- 使用
apply初始化一个对象。 - 使用
let处理可空字符串。 - 对比
let、apply、also的返回值差异。
第 8 阶段:协程入门
建议用时:5-7 天。
学习内容
- 协程是什么
suspend函数CoroutineScopelaunchasync与awaitDispatchers- 结构化并发
学习重点
- 协程不是线程,但可以帮助你更方便地写异步代码。
suspend表示函数可以挂起,不等于一定会切线程。- 初学阶段先理解使用方式,再深入底层原理。
练习任务
- 模拟网络请求延迟。
- 并发执行 2 个耗时任务,再合并结果。
- 对比同步写法和协程写法。
第 9 阶段:选择实践方向
完成基础语法后,建议选择一个方向深入。
Android 方向
继续学习:
- Activity 与 Fragment
- ViewModel
- Jetpack Compose
- Room
- Retrofit
- Kotlin Flow
适合练习:
- 待办清单 App
- 天气 App
- 记账 App
后端方向
继续学习:
- Spring Boot + Kotlin
- Ktor
- REST API
- 数据库访问
- 协程与异步服务
适合练习:
- 用户注册登录接口
- 文章管理系统
- 简单订单系统
脚本与工具方向
继续学习:
- Kotlin Script
- 文件读写
- 命令行参数
- JSON 解析
适合练习:
- 日志分析工具
- 批量重命名工具
- Markdown 目录生成工具
推荐学习节奏
第 1 周
- 完成环境搭建。
- 掌握变量、条件、循环、函数。
- 每天写 3-5 个小练习。
第 2 周
- 学习空安全、类、对象、
data class。 - 做一个简单的图书管理或学生管理程序。
第 3 周
- 学习集合、扩展函数、泛型、异常。
- 用集合操作重构前面的练习代码。
第 4 周
- 学习作用域函数和协程基础。
- 做一个稍完整的小项目。
学习方法
- 先写代码,再回头总结语法。
- 每学一个语法点,至少写 2 个小例子。
- 多读 Kotlin 官方示例,少背语法表。
- 遇到 Java 对比时,重点理解 Kotlin 为什么这样设计。
- 每周整理一次笔记,把容易混淆的语法单独列出来。
常见易混点
| 易混点 | 记忆方式 |
|---|---|
val 与 var |
val 只读,var 可改 |
String 与 String? |
前者不能为 null,后者可以为 null |
== 与 === |
== 比较值,=== 比较引用 |
List 与 MutableList |
List 只读,MutableList 可增删改 |
object 与 class |
object 是单例,class 是模板 |
let 与 apply |
let 返回最后一行,apply 返回对象本身 |
小项目清单
按顺序完成即可,不需要一次做很大。
- 命令行计算器
- 猜数字小游戏
- 学生成绩管理
- 图书管理系统
- 商品订单统计
- 待办清单
- 简单天气数据解析
- 协程并发任务模拟器
每日打卡模板
## 第 X 天
- 今天学习:
- 写了哪些代码:
- 遇到的问题:
- 明天计划:
最小闭环
每个阶段都按这个闭环推进:
- 看 1 个概念。
- 写 1 段示例。
- 改 1 个参数或条件。
- 做 1 个小练习。
- 用自己的话总结 3 句话。
只要坚持这个节奏,Kotlin 语法会很快从「看得懂」变成「写得出」。

浙公网安备 33010602011771号