Kotlin学习第 1 课:Kotlin 入门准备:搭建学习环境与认知基础

欢迎来到 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/settertoStringequals 等方法(至少 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

  1. 下载 JDK:打开 Oracle 官网 JDK 下载页(或用国内镜像如华为云、阿里云),选择 "Windows x64 Installer"(.exe 文件),注意需要注册 Oracle 账号(免费);

  2. 安装 JDK:双击安装包,一路点击 "下一步",注意记住安装路径(比如 C:\Program Files\Java\jdk-11);

  3. 配置环境变量:

    • 右键 "此电脑"→"属性"→"高级系统设置"→"环境变量";
    • 在 "系统变量" 中点击 "新建",变量名填 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 生成);
  4. 验证是否成功:打开 "命令提示符"(Win+R 输入 cmd),输入 java -version,如果显示 "java version "11.xxx"",说明安装成功。

(2)macOS 系统安装 JDK

  1. 下载 JDK:打开 Oracle 官网,选择 "macOS x64 DMG Installer";

  2. 安装 JDK:双击 DMG 文件,拖动到 "应用程序" 文件夹,或按提示完成安装;

  3. 配置环境变量(如果需要):

    • 打开 "终端"(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 生效;
  1. 验证:终端输入 java -version,显示 JDK 11 版本即成功。

(3)Linux 系统安装 JDK

以 Ubuntu 为例:

  1. 下载 JDK:官网选择 "Linux x64 Compressed Archive"(.tar.gz 文件);

  2. 解压到指定目录:打开终端,输入 sudo tar -zxvf jdk-11xxx.tar.gz -C /usr/local/(xxx 替换为具体版本号);

  3. 配置环境变量:

    • 输入 sudo nano /etc/profile,末尾添加:
bash 复制代码
export JAVA_HOME=/usr/local/jdk-11xxx
export PATH=$JAVA_HOME/bin:$PATH
  • 保存退出后,输入 source /etc/profile
  1. 验证:终端输入 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(第一次打开)

  1. 首次启动会提示 "导入配置",选择 "Do not import settings"(新手推荐),点击 "OK";
  2. 选择主题(Light/Dark,根据喜好选),点击 "Next: Featured plugins";
  3. 检查 "Kotlin" 插件是否已勾选(IDEA 社区版默认自带,无需额外安装),如果没勾选,手动勾选后点击 "Install",然后 "Next";
  4. 点击 "Start using IntelliJ IDEA",完成初始化。

3. 第三步:编写第一个 Kotlin 程序 "Hello World"

这一步将带你完整体验 "新建项目→写代码→运行程序" 的流程,非常简单!

(1)新建 Kotlin 项目

  1. 打开 IDEA,点击 "New Project"(新建项目);

  2. 在左侧列表选择 "Kotlin",右侧选择 "Kotlin/JVM"(基于 JVM 的 Kotlin 项目,适合入门);

  3. 填写项目信息:

    • "Name":项目名,比如 "KotlinFirstDemo";
    • "Location":项目保存路径,比如 "D:\KotlinProjects";
    • "JDK":选择我们之前安装的 JDK 11(如果没显示,点击 "Add JDK" 手动选择路径);
  4. 点击 "Create",等待 IDEA 初始化项目(第一次可能需要几秒,会自动下载必要的依赖)。

(2)创建 Kotlin 源文件

  1. 项目初始化完成后,左侧会显示项目目录,找到 src/main/kotlin 文件夹(这是 Kotlin 源代码的默认存放目录);
  2. 右键点击 kotlin 文件夹,选择 "New"→"Kotlin Class/File";
  3. 在弹出的窗口中,"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)运行程序

有两种简单的运行方式:

  1. 点击运行按钮:在代码编辑区的左侧,会看到一个绿色的 "播放按钮"(▶️),点击后选择 "Run 'HelloWorldKt'";
  2. 右键运行 :右键点击 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.ktUser.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)调试技巧(排查代码错误的核心)

当代码运行结果不符合预期时,需要用 "调试" 来一步步看代码执行过程:

  1. 加断点 :在代码行的左侧(行号旁边)点击,会出现一个红色圆点(断点),比如在 println 那一行加断点;

  2. 启动调试 :点击 "调试按钮"(绿色虫子图标 🐞),或用快捷键 Shift + F9(Windows/Linux)/ Ctrl + D(macOS);

  3. 调试控制:调试启动后,下方会出现 "Debug" 面板,常用控制按钮(从左到右):

    • "Step Over"(F8):执行下一步(不进入函数内部);
    • "Step Into"(F7):进入当前函数内部(比如如果有自定义函数,点击会进去看执行过程);
    • "Resume Program"(F9):继续执行到下一个断点;
    • "Stop"(红色方块):停止调试。
      调试时,鼠标悬停在变量上可以看到变量的值,帮你快速定位错误(比如变量值是否和预期一致)。

(4)代码补全(新手必用,减少拼写错误)

IDEA 的代码补全功能非常强大,写代码时不用完整输入,按 Ctrl + 空格(Windows/Linux)或 Cmd +空格(macOS)会自动提示可能的代码,按回车即可补全。比如输入pri,会提示printprintln 等,直接选择即可。


四、初识 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 没有强制命名要求,但行业有通用规范,遵循这些规范能让代码更易理解:

  • 变量 / 函数 / 属性 :使用 "小驼峰式"(首字母小写,后续单词首字母大写),如 userNamecalculateTotal()
  • 类 / 接口 :使用 "大驼峰式"(首字母大写,后续单词首字母大写),如 UserOrderService
  • 常量 :使用全大写,单词间用下划线分隔,如 MAX_SIZEDEFAULT_TIMEOUT
  • 包名 :全部小写,不使用下划线,通常用反转的域名(如公司域名 com.example,包名可写 com.example.myapp)。

示例:

kotlin 复制代码
// 类名(大驼峰)
class Student {
    // 属性(小驼峰)
    val studentName: String = "Tom"
    
    // 函数(小驼峰)
    fun getAge(): Int {
        return 18
    }
}

// 常量(全大写)
const val MAX_SCORE = 100
相关推荐
NRatel2 分钟前
Unity 游戏提升 Android TargetVersion 相关记录
android·游戏·unity·提升版本
long31633 分钟前
构建者设计模式 Builder
java·后端·学习·设计模式
吐个泡泡v37 分钟前
Maven 核心命令详解:compile、exec:java、package 与 IDE Reload 机制深度解析
java·ide·maven·mvn compile
天上掉下来个程小白42 分钟前
微服务-01.导入黑马商城
java·微服务·架构
Noii.1 小时前
Spring Boot初级概念及自动配置原理
java·spring boot·后端
探索java1 小时前
Tomcat Server 组件原理
java·后端·tomcat
勿在浮沙筑高台1 小时前
无法获取实体类com.example.springdemo2.entity.po.UserPO对应的表名!
java·spring boot·mybatis
用户8356290780511 小时前
Java使用Spire.Doc实现Word转PDF:格式精准的自动化解决方案
java
陆小叁2 小时前
基于Flink CDC实现联系人与标签数据实时同步至ES的实践
java·elasticsearch·flink
CHEN5_022 小时前
【Java基础】反射,注解,异常,Java8新特性,object类-详细介绍
java·开发语言