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 天。

学习内容

  • 变量声明:valvar
  • 基本类型:IntLongDoubleBooleanString
  • 字符串模板:"Hello, $name"
  • 条件判断:ifwhen
  • 循环:forwhile
  • 区间:1..10untildownTostep

学习重点

  • 优先使用 val,只有需要修改变量时才使用 var
  • ifwhen 都可以作为表达式返回值。
  • 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 class
  • object 单例
  • 伴生对象:companion object
  • 继承:openoverride
  • 接口: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
  • 可变集合与不可变集合
  • map
  • filter
  • forEach
  • find
  • groupBy
  • sortedBy
  • reducefold

学习重点

  • Kotlin 集合操作非常常用,是写出简洁代码的关键。
  • 区分只读集合和可变集合。
  • 多练习链式调用,但不要为了炫技写得过度复杂。

示例

val numbers = listOf(1, 2, 3, 4, 5)

val result = numbers
    .filter { it % 2 == 0 }
    .map { it * it }

println(result)

练习任务

  • 从一组学生中筛选及格学生。
  • 按城市分组用户。
  • 统计订单总金额。
  • 找出价格最高的商品。

第 6 阶段:异常、泛型与扩展

建议用时:3-5 天。

学习内容

  • 异常处理:trycatchfinally
  • 泛型函数
  • 泛型类
  • 扩展函数
  • 扩展属性

学习重点

  • 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 天。

学习内容

  • let
  • run
  • with
  • apply
  • also

学习重点

  • let 常用于空安全处理和局部转换。
  • apply 常用于对象初始化。
  • also 常用于附加操作,比如打印日志。
  • 不要滥用作用域函数,否则代码会变难读。

示例

val user = User(id = 1, name = "Alice", age = 20)

user.let {
    println("User name: ${it.name}")
}

练习任务

  • 使用 apply 初始化一个对象。
  • 使用 let 处理可空字符串。
  • 对比 letapplyalso 的返回值差异。

第 8 阶段:协程入门

建议用时:5-7 天。

学习内容

  • 协程是什么
  • suspend 函数
  • CoroutineScope
  • launch
  • asyncawait
  • Dispatchers
  • 结构化并发

学习重点

  • 协程不是线程,但可以帮助你更方便地写异步代码。
  • 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 为什么这样设计。
  • 每周整理一次笔记,把容易混淆的语法单独列出来。

常见易混点

易混点 记忆方式
valvar val 只读,var 可改
StringString? 前者不能为 null,后者可以为 null
===== == 比较值,=== 比较引用
ListMutableList List 只读,MutableList 可增删改
objectclass object 是单例,class 是模板
letapply let 返回最后一行,apply 返回对象本身

小项目清单

按顺序完成即可,不需要一次做很大。

  1. 命令行计算器
  2. 猜数字小游戏
  3. 学生成绩管理
  4. 图书管理系统
  5. 商品订单统计
  6. 待办清单
  7. 简单天气数据解析
  8. 协程并发任务模拟器

每日打卡模板

## 第 X 天

- 今天学习:
- 写了哪些代码:
- 遇到的问题:
- 明天计划:

最小闭环

每个阶段都按这个闭环推进:

  1. 看 1 个概念。
  2. 写 1 段示例。
  3. 改 1 个参数或条件。
  4. 做 1 个小练习。
  5. 用自己的话总结 3 句话。

只要坚持这个节奏,Kotlin 语法会很快从「看得懂」变成「写得出」。

posted @ 2026-06-27 11:20  呢哇哦比较  阅读(21)  评论(0)    收藏  举报