欢迎来到 Kotlin 学习的第一堂课!本课程将从 "为什么学" 到 "怎么学",帮你搭建完整的学习框架,既能理解 Kotlin 的核心价值,也能亲手完成环境搭建与第一个程序开发,为后续深入学习打下坚实基础。
一、为什么要学 Kotlin?------ 先搞懂 "学它的意义"
在开始写代码前,我们首先要明确:Kotlin 到底是什么?它在行业里能用在哪?和我们熟悉的 Java、Python 比有什么优势?这能帮你建立学习目标,避免盲目跟风。
1. 编程语言定位:"简洁、安全、多平台" 的现代语言
Kotlin 是由 JetBrains 公司(开发了 IntelliJ IDEA、PyCharm 等知名工具)在 2011 年推出的静态类型编程语言,2017 年被 Google 官方指定为 Android 开发首选语言 ,2019 年成为 Java 生态的 "一等公民"(与 Java 完全兼容)。它的核心定位是:在保证性能与安全性的同时,大幅简化代码编写,支持多平台开发。
2. 行业应用场景:不止于 Android,用途比你想的更广
很多人以为 Kotlin 只能做 Android 开发,其实它的应用场景早已覆盖多领域:
- Android 开发:这是 Kotlin 最核心的场景。目前 Google Play 上 70% 以上的新应用使用 Kotlin 开发,包括 Google 自家的 Gmail、地图等;
- 后端开发:支持 Spring Boot、Ktor 等主流框架,能替代 Java 开发高性能的服务器程序,且代码量更少(比如一个简单的接口,Kotlin 代码比 Java 少 30%~50%);
- 跨平台开发:通过 Kotlin Multiplatform Mobile(KMM),可同时开发 Android 和 iOS 应用,共享 70% 以上的业务逻辑代码,减少重复开发;
- 其他场景:还能用于桌面应用(结合 Compose Desktop)、数据科学(与 Python 协作)等领域,生态正在快速扩张。
3. 对比 Java/Python:Kotlin 的 "差异化优势"
(1)对比 Java:解决 "历史包袱",更简洁安全
Java 是经典的企业级语言,但诞生于 1995 年,有不少 "历史包袱",而 Kotlin 正是为解决这些问题而生:
- 代码更简洁 :比如定义一个数据类(存储用户信息、订单信息等),Java 需要写
getter
/setter
、toString
、equals
等方法(至少 50 行代码),而 Kotlin 只需一行:data class User(val name: String, val age: Int)
; - 空安全 :Java 中 "空指针异常(NullPointerException)" 是最常见的崩溃原因,而 Kotlin 强制区分 "可空类型" 和 "非空类型",编译期就会报错(比如
String
一定非空,String?
才允许为空),从根源减少空指针; - 支持现代语法:内置 Lambda 表达式、协程(简化异步编程)、扩展函数(无需继承就能给现有类加方法)等,而 Java 直到 Java 8 才支持 Lambda,且语法更繁琐;
- 100% 兼容 Java:可以直接调用 Java 类库、使用 Java 框架,甚至在一个项目中混合编写 Kotlin 和 Java 代码,迁移成本极低(比如老 Java 项目可以逐步用 Kotlin 重构)。
(2)对比 Python:兼顾 "灵活性" 与 "性能安全"
Python 是入门友好的动态类型语言,但在企业级开发中, Kotlin 有两个关键优势:
- 静态类型 + 编译期检查:Python 是动态类型(变量类型在运行时才确定),写代码时可能因 "类型错误"(比如把字符串传给需要数字的函数)导致运行崩溃,而 Kotlin 是静态类型,编译时就会检查类型错误,大型项目更易维护;
- 性能更优:Kotlin 编译成字节码后运行在 JVM(Java 虚拟机)上,执行速度比 Python 快 5~10 倍(尤其在循环、计算密集型场景),更适合开发高性能应用;
- 企业级生态更成熟:Python 在数据科学、脚本开发领域强,但在后端、移动端的企业级生态(比如分布式框架、安全框架)不如 Kotlin 基于的 Java 生态完善;
- 当然,Python 的优势(比如入门简单、数据科学库丰富)Kotlin 也能通过 "协作" 弥补:比如用 Kotlin 写后端服务,调用 Python 的机器学习模型。
二、Kotlin 学习环境搭建:3 步搞定,从 "零" 到 "能写代码"
其实叽哥这里更推荐直接通过Kotlin Playground 学习Kotlin,Kotlin Playground 是 JetBrains 官方提供的在线编辑与运行 Kotlin 代码平台,功能简洁、体验流畅,点击运行即可试验代码片段。当然前提还是要先了解如何搭建Kotlin的环境。
学习 Kotlin 不需要复杂的环境,核心是两个工具:JDK(Java 开发工具包,Kotlin 运行依赖) 和 IntelliJ IDEA(开发工具,JetBrains 官方推荐,社区版免费) 。下面分系统详细讲解安装步骤,确保每个同学都能搞定。
1. 第一步:安装并配置 JDK(必须!Kotlin 依赖 JVM)
Kotlin 代码最终会编译成 JVM 字节码,所以必须先安装 JDK。推荐安装 JDK 11(长期支持版,稳定且兼容所有主流框架)。
(1)Windows 系统安装 JDK
-
下载 JDK:打开 Oracle 官网 JDK 下载页(或用国内镜像如华为云、阿里云),选择 "Windows x64 Installer"(.exe 文件),注意需要注册 Oracle 账号(免费);
-
安装 JDK:双击安装包,一路点击 "下一步",注意记住安装路径(比如
C:\Program Files\Java\jdk-11
); -
配置环境变量:
- 右键 "此电脑"→"属性"→"高级系统设置"→"环境变量";
- 在 "系统变量" 中点击 "新建",变量名填
JAVA_HOME
,变量值填 JDK 安装路径(比如C:\Program Files\Java\jdk-11
); - 找到 "系统变量" 中的
Path
,点击 "编辑"→"新建",输入%JAVA_HOME%\bin
,再 "新建" 输入%JAVA_HOME%\jre\bin
(如果 JDK 11 没有 jre 文件夹,打开命令提示符输入bin\jlink.exe --module-path jmods --add-modules java.desktop --output jre
生成);
-
验证是否成功:打开 "命令提示符"(Win+R 输入
cmd
),输入java -version
,如果显示 "java version "11.xxx"",说明安装成功。
(2)macOS 系统安装 JDK
-
下载 JDK:打开 Oracle 官网,选择 "macOS x64 DMG Installer";
-
安装 JDK:双击 DMG 文件,拖动到 "应用程序" 文件夹,或按提示完成安装;
-
配置环境变量(如果需要):
- 打开 "终端"(Launchpad→其他→终端);
- 输入
sudo nano /etc/profile
(输入密码),在文件末尾添加:
bash
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk-11.jdk/Contents/Home
export PATH=$JAVA_HOME/bin:$PATH
- 按
Ctrl+O
保存,Ctrl+X
退出,再输入source /etc/profile
生效;
- 验证:终端输入
java -version
,显示 JDK 11 版本即成功。
(3)Linux 系统安装 JDK
以 Ubuntu 为例:
-
下载 JDK:官网选择 "Linux x64 Compressed Archive"(.tar.gz 文件);
-
解压到指定目录:打开终端,输入
sudo tar -zxvf jdk-11xxx.tar.gz -C /usr/local/
(xxx 替换为具体版本号); -
配置环境变量:
- 输入
sudo nano /etc/profile
,末尾添加:
- 输入
bash
export JAVA_HOME=/usr/local/jdk-11xxx
export PATH=$JAVA_HOME/bin:$PATH
- 保存退出后,输入
source /etc/profile
;
- 验证:终端输入
java -version
,显示版本即成功。
2. 第二步:下载并初始化 IntelliJ IDEA(社区版免费)
IntelliJ IDEA(简称 IDEA)是开发 Kotlin 最顺手的工具,支持代码补全、语法检查、调试等功能,社区版(Community Edition)完全免费,足够满足学习需求。
(1)下载 IDEA
打开 JetBrains 官网,根据系统选择对应的 "Community Edition" 下载(Windows 选 .exe,macOS 选 .dmg,Linux 选 .tar.gz)。
(2)安装 IDEA
- Windows:双击安装包,勾选 "创建桌面快捷方式""关联 .java/.kt 文件",一路下一步即可;
- macOS:双击 .dmg 文件,将 IDEA 拖到 "应用程序" 文件夹;
- Linux :解压 .tar.gz 文件到
/opt/
目录,进入bin
文件夹,双击idea.sh
启动。
(3)初始化 IDEA(第一次打开)
- 首次启动会提示 "导入配置",选择 "Do not import settings"(新手推荐),点击 "OK";
- 选择主题(Light/Dark,根据喜好选),点击 "Next: Featured plugins";
- 检查 "Kotlin" 插件是否已勾选(IDEA 社区版默认自带,无需额外安装),如果没勾选,手动勾选后点击 "Install",然后 "Next";
- 点击 "Start using IntelliJ IDEA",完成初始化。
3. 第三步:编写第一个 Kotlin 程序 "Hello World"
这一步将带你完整体验 "新建项目→写代码→运行程序" 的流程,非常简单!
(1)新建 Kotlin 项目
-
打开 IDEA,点击 "New Project"(新建项目);
-
在左侧列表选择 "Kotlin",右侧选择 "Kotlin/JVM"(基于 JVM 的 Kotlin 项目,适合入门);
-
填写项目信息:
- "Name":项目名,比如 "KotlinFirstDemo";
- "Location":项目保存路径,比如 "D:\KotlinProjects";
- "JDK":选择我们之前安装的 JDK 11(如果没显示,点击 "Add JDK" 手动选择路径);
-
点击 "Create",等待 IDEA 初始化项目(第一次可能需要几秒,会自动下载必要的依赖)。
(2)创建 Kotlin 源文件
- 项目初始化完成后,左侧会显示项目目录,找到
src/main/kotlin
文件夹(这是 Kotlin 源代码的默认存放目录); - 右键点击
kotlin
文件夹,选择 "New"→"Kotlin Class/File"; - 在弹出的窗口中,"Name" 填 "HelloWorld"(注意 Kotlin 文件名首字母建议大写,与类名保持一致),"Kind" 选择 "File"(文件,适合写简单的代码),点击 "Enter"。
(3)编写 "Hello World" 代码
在新建的 HelloWorld.kt
文件中,输入以下代码:
kotlin
// 第一个 Kotlin 程序:打印 Hello World
fun main() {
println("Hello, Kotlin!")
}
代码解释:
fun main()
:Kotlin 程序的入口函数(类似 Java 的main
方法),程序会从这里开始执行;println("Hello, Kotlin!")
:打印语句,将括号中的字符串输出到控制台;// 第一个 Kotlin 程序...
:单行注释,后面会详细讲。
(4)运行程序
有两种简单的运行方式:
- 点击运行按钮:在代码编辑区的左侧,会看到一个绿色的 "播放按钮"(▶️),点击后选择 "Run 'HelloWorldKt'";
- 右键运行 :右键点击
HelloWorld.kt
文件,选择 "Run 'HelloWorldKt'"。
运行成功后,下方的 "Run" 面板会显示输出结果:Hello, Kotlin!
,恭喜你!已经成功运行了第一个 Kotlin 程序。
三、Kotlin 项目结构解析:看懂 "目录里的每一个文件"
刚接触 IDEA 的同学可能会对项目目录感到陌生,其实 Kotlin 项目结构很规整,理解后能帮你更高效地管理代码。我们以刚才新建的 "KotlinFirstDemo" 项目为例,拆解核心目录和文件。
1. 核心目录组成(重点看这 3 个文件夹)
plaintext
KotlinFirstDemo/ # 项目根目录
├─ .idea/ # IDEA 项目配置文件夹(自动生成,不用手动改)
├─ gradle/ # Gradle 构建工具配置(自动生成,管理依赖)
├─ src/ # 源代码和资源文件的核心目录
│ ├─ main/ # 主程序目录(我们写的业务代码在这里)
│ │ ├─ kotlin/ # Kotlin 源代码目录(.kt 文件放这里)
│ │ └─ resources/ # 资源文件目录(比如图片、配置文件等)
│ └─ test/ # 测试程序目录(写测试代码,入门阶段暂时用不到)
│ └─ kotlin/ # 测试代码的 Kotlin 目录
├─ build.gradle.kts # Gradle 构建脚本(配置项目依赖、Kotlin 版本等)
└─ settings.gradle.kts # Gradle 项目设置(比如项目名、模块管理)
重点关注 :src/main/kotlin
(写代码)和 src/main/resources
(放资源),其他目录和文件新手暂时不用修改,保持默认即可。
2. 源文件格式:.kt 后缀是关键
Kotlin 的源文件后缀统一为 .kt (比如 HelloWorld.kt
、User.kt
),这是区分 Kotlin 文件和 Java 文件(.java)、Python 文件(.py)的核心标志。
一个 .kt 文件中可以包含多个类、函数或变量(比如在 HelloWorld.kt
中再加一个 User
类),但建议遵循 "单一职责":一个文件对应一个核心类或一个核心功能(比如 User.kt
只放 User
类,Order.kt
只放 Order
类),方便后续维护。
3. IDEA 常用操作:提升开发效率的 "小技巧"
作为新手,掌握以下几个常用操作,能让你写代码更顺畅:
(1)新建文件 / 类
除了之前讲的 "右键→New→Kotlin Class/File",还可以用快捷键:
- Windows/Linux:
Alt + Insert
(按住 Alt 再按 Insert); - macOS:
Cmd + N
(按住 Command 再按 N)。
在弹出的菜单中,可选择 "File"(普通文件)、"Class"(类)、"Data Class"(数据类)等,按需创建。
(2)运行代码
除了点击 "播放按钮",还可以用快捷键:
- 运行当前文件:
Shift + F10
(Windows/Linux)/Ctrl + R
(macOS); - 运行指定程序:如果项目中有多个入口函数,点击 IDEA 右上角的 "运行配置"(比如 "HelloWorldKt"),选择要运行的程序,再点击播放按钮。
(3)调试技巧(排查代码错误的核心)
当代码运行结果不符合预期时,需要用 "调试" 来一步步看代码执行过程:
-
加断点 :在代码行的左侧(行号旁边)点击,会出现一个红色圆点(断点),比如在
println
那一行加断点; -
启动调试 :点击 "调试按钮"(绿色虫子图标 🐞),或用快捷键
Shift + F9
(Windows/Linux)/Ctrl + D
(macOS); -
调试控制:调试启动后,下方会出现 "Debug" 面板,常用控制按钮(从左到右):
- "Step Over"(F8):执行下一步(不进入函数内部);
- "Step Into"(F7):进入当前函数内部(比如如果有自定义函数,点击会进去看执行过程);
- "Resume Program"(F9):继续执行到下一个断点;
- "Stop"(红色方块):停止调试。
调试时,鼠标悬停在变量上可以看到变量的值,帮你快速定位错误(比如变量值是否和预期一致)。
(4)代码补全(新手必用,减少拼写错误)
IDEA 的代码补全功能非常强大,写代码时不用完整输入,按 Ctrl + 空格
(Windows/Linux)或 Cmd +空格
(macOS)会自动提示可能的代码,按回车即可补全。比如输入pri
,会提示print
、println
等,直接选择即可。
四、初识 Kotlin 语法风格:这些 "细节" 决定代码质量
语法风格是编程语言的 "书写规范",好的风格能让代码更易读、易维护。Kotlin 有明确的语法规范,掌握这些细节能让你从一开始就写出 "专业级" 代码。
1. 代码注释:让别人看懂你的代码
注释是对代码的解释说明,不会被程序执行,却对 "人" 至关重要(包括未来的自己)。Kotlin 支持三种注释方式:
(1)单行注释(//)
最常用的注释方式,用于解释单行代码或短文本,格式为 // 注释内容
:
kotlin
// 定义一个计算两数之和的函数
fun add(a: Int, b: Int): Int {
return a + b // 返回计算结果
}
(2)多行注释(/* ... */)
当注释内容超过一行时使用,格式为 /* 注释内容 */
,可以跨多行:
kotlin
/*
这是一个多行注释示例
下面的函数用于判断一个数是否为偶数
参数:num - 要判断的整数
返回值:true(偶数)/ false(奇数)
*/
fun isEven(num: Int): Boolean {
return num % 2 == 0
}
⚠️ 注意:Kotlin 的多行注释支持嵌套(Java 不支持),比如:
kotlin
/*
外层注释
/* 这是嵌套的内层注释 */
外层注释继续
*/
(3)文档注释(/** ... */)
用于生成 API 文档(类似 Java 的 Javadoc),通常用于注释类、函数、属性等,支持标记(如 @param
描述参数,@return
描述返回值):
kotlin
/**
* 计算两个整数的乘积
* @param x 第一个乘数
* @param y 第二个乘数
* @return 两个数的乘积
*/
fun multiply(x: Int, y: Int): Int {
return x * y
}
在 IDEA 中,鼠标悬停在使用该函数的地方时,会自动显示文档注释内容,非常方便。
2. 语句结尾分号:可写可不写,推荐 "不写"
和 Java 强制要求每条语句结尾加 ;
不同,Kotlin 中分号是可选的,推荐省略分号,让代码更简洁:
kotlin
// 推荐写法(无分号)
println("Hello")
val age = 20
// 允许但不推荐(加分号)
println("World");
val name = "Kotlin";
只有当多条语句写在同一行时,才需要用分号分隔:
kotlin
// 同一行多条语句,必须加分号
println("Hello"); println("Kotlin")
3. 代码缩进:用空格而非制表符(Tab)
缩进是为了体现代码的层级关系(比如函数体、循环体内部需要缩进),Kotlin 推荐使用4 个空格作为缩进(IDEA 默认会将 Tab 自动转为 4 个空格):
kotlin
// 正确缩进示例
fun printNumbers() {
// 函数体缩进 4 个空格
for (i in 1..5) {
// 循环体再缩进 4 个空格(总 8 个)
println(i)
}
}
// 错误示例(无缩进,可读性差)
fun printLetters() {
for (c in 'a'..'c') {
println(c)
}
}
IDEA 会自动帮你处理缩进(回车后自动添加正确的缩进),你只需专注写代码即可。
4. 命名规范:见名知意的 "潜规则"
虽然 Kotlin 没有强制命名要求,但行业有通用规范,遵循这些规范能让代码更易理解:
- 变量 / 函数 / 属性 :使用 "小驼峰式"(首字母小写,后续单词首字母大写),如
userName
、calculateTotal()
; - 类 / 接口 :使用 "大驼峰式"(首字母大写,后续单词首字母大写),如
User
、OrderService
; - 常量 :使用全大写,单词间用下划线分隔,如
MAX_SIZE
、DEFAULT_TIMEOUT
; - 包名 :全部小写,不使用下划线,通常用反转的域名(如公司域名
com.example
,包名可写com.example.myapp
)。
示例:
kotlin
// 类名(大驼峰)
class Student {
// 属性(小驼峰)
val studentName: String = "Tom"
// 函数(小驼峰)
fun getAge(): Int {
return 18
}
}
// 常量(全大写)
const val MAX_SCORE = 100