第一个 Kotlin 程序 - Hello World #

一、编写第一个程序 #

1.1 创建源文件 #

创建一个名为 Hello.kt 的文件:

kotlin
fun main() {
    println("Hello, World!")
}

1.2 编译程序 #

使用命令行编译:

bash
kotlinc Hello.kt -include-runtime -d Hello.jar

参数说明:

  • kotlinc:Kotlin 编译器
  • -include-runtime:包含 Kotlin 运行时库
  • -d Hello.jar:输出 JAR 文件

1.3 运行程序 #

bash
java -jar Hello.jar

输出结果:

text
Hello, World!

二、程序结构解析 #

2.1 main 函数 #

kotlin
fun main() {
    println("Hello, World!")
}
  • fun:关键字,用于声明函数
  • main:函数名,程序入口点
  • ():参数列表(可以为空)
  • {}:函数体

2.2 带参数的 main 函数 #

kotlin
fun main(args: Array<String>) {
    println("参数个数: ${args.size}")
    args.forEach { println(it) }
}

运行:

bash
java -jar Hello.jar hello world

输出:

text
参数个数: 2
hello
world

2.3 println 函数 #

kotlin
println("Hello")      // 输出字符串并换行
print("Hello")        // 输出字符串不换行
print(" World\n")     // 手动换行

三、使用 IDE 开发 #

3.1 IntelliJ IDEA 创建项目 #

  1. 打开 IDEA,选择 “New Project”
  2. 选择 “Kotlin” → “JVM | IDEA”
  3. 输入项目名称
  4. 选择 JDK 版本
  5. 点击 “Create”

3.2 创建 Kotlin 文件 #

  1. 右键 src 目录
  2. 选择 “New” → “Kotlin Class/File”
  3. 输入文件名 Hello
  4. 选择 “File”

3.3 编写代码 #

kotlin
fun main() {
    println("Hello, Kotlin!")
}

3.4 运行程序 #

  • 点击 main 函数旁边的绿色三角形
  • 或使用快捷键运行
  • 查看控制台输出

四、Kotlin vs Java 对比 #

4.1 Hello World 对比 #

Java 版本:

java
public class HelloWorld {
    public static void main(String[] args) {
        System.out.println("Hello, World!");
    }
}

Kotlin 版本:

kotlin
fun main() {
    println("Hello, World!")
}

4.2 主要区别 #

特性 Java Kotlin
类包装 必须在类中 可以直接定义函数
main 方法 必须是 static 顶层函数即可
打印语句 System.out.println println
分号 可选 可选
代码量 较多 简洁

五、编译与运行过程 #

5.1 编译流程 #

text
源代码(.kt) → Kotlin编译器(kotlinc) → 字节码(.class)

5.2 运行流程 #

text
字节码(.class) → JVM → 机器码 → 执行

5.3 详细流程图 #

text
Hello.kt
    ↓
[kotlinc 编译器]
    ↓
HelloKt.class (字节码)
    ↓
[类加载器]
    ↓
[JVM]
    ↓
[执行 main 函数]
    ↓
Hello, World!

六、程序入口详解 #

6.1 main 函数的形式 #

Kotlin 支持多种 main 函数形式:

kotlin
// 形式1:无参数(推荐)
fun main() {
    println("Hello")
}

// 形式2:带参数
fun main(args: Array<String>) {
    args.forEach { println(it) }
}

// 形式3:可变参数(不推荐)
fun main(vararg args: String) {
    args.forEach { println(it) }
}

6.2 包级别的 main #

kotlin
// 文件: Main.kt
package com.example

fun main() {
    println("Hello from package")
}

编译后的类名为 com.example.MainKt

七、输出函数详解 #

7.1 println #

kotlin
println("字符串")      // 输出字符串
println(100)          // 输出整数
println(3.14)         // 输出浮点数
println(true)         // 输出布尔值
println('A')          // 输出字符
println()             // 输出空行

7.2 print #

kotlin
print("Hello")
print(" ")
print("World")
// 输出: Hello World(不换行)

7.3 字符串模板 #

kotlin
val name = "Kotlin"
val version = 1.9

println("语言: $name")
println("版本: $version")
println("全名: ${name} $version")

输出:

text
语言: Kotlin
版本: 1.9
全名: Kotlin 1.9

八、常见错误 #

8.1 main 函数拼写错误 #

kotlin
// 错误
fun Main() {
    println("Hello")
}

// 正确
fun main() {
    println("Hello")
}

8.2 文件名与类名 #

Kotlin 不要求文件名与类名一致,但建议遵循命名规范:

kotlin
// 文件: Hello.kt
fun main() {
    println("Hello")
}

编译后生成 HelloKt.class

8.3 包声明问题 #

kotlin
// 错误:包声明不在文件开头
import java.util.*

package com.example  // 错误位置

fun main() {
    println("Hello")
}

// 正确
package com.example  // 必须在文件开头

import java.util.*

fun main() {
    println("Hello")
}

九、使用脚本模式 #

Kotlin 支持脚本文件(.kts):

9.1 创建脚本文件 #

创建 hello.kts

kotlin
println("Hello from Kotlin Script!")
val name = "Kotlin"
println("Welcome to $name!")

9.2 运行脚本 #

bash
kotlinc -script hello.kts

输出:

text
Hello from Kotlin Script!
Welcome to Kotlin!

十、实战练习 #

10.1 练习1:个人信息 #

编写程序输出个人信息:

kotlin
fun main() {
    println("=== 个人信息 ===")
    println("姓名: 张三")
    println("年龄: 25")
    println("职业: 软件工程师")
    println("爱好: 编程、阅读、运动")
}

10.2 练习2:计算器 #

编写简单的计算器:

kotlin
fun main() {
    val a = 10
    val b = 5
    
    println("数字: $a 和 $b")
    println("加法: ${a + b}")
    println("减法: ${a - b}")
    println("乘法: ${a * b}")
    println("除法: ${a / b}")
}

10.3 练习3:命令行参数 #

处理命令行参数:

kotlin
fun main(args: Array<String>) {
    if (args.isEmpty()) {
        println("请输入参数!")
        return
    }
    
    println("收到的参数:")
    args.forEachIndexed { index, arg ->
        println("  [$index] $arg")
    }
}

十一、总结 #

编写 Kotlin 程序的要点:

  1. main 函数:程序入口,可以直接定义为顶层函数
  2. println:输出函数,自动换行
  3. 简洁语法:无需类包装,代码简洁
  4. 字符串模板:使用 $ 进行字符串插值

下一步,让我们学习 Kotlin 基础语法

最后更新:2026-03-27