Kotlin 基础语法入门:从零开始构建你的第一行代码
如果你正在学习现代编程语言,Kotlin 一定已经出现在你的视线中。作为 Android 官方推荐的开发语言,Kotlin 不仅简洁优雅,还极大提升了开发效率。尤其对于初学者来说,Kotlin 基础语法的学习曲线平缓,却能快速上手实用功能。
Kotlin 基础语法的设计哲学是“让代码更少,更清晰”。它融合了函数式编程和面向对象编程的优点,同时避免了 Java 中常见的冗长写法。比如,声明一个变量只需要 val 或 var,而不需要写 int、String 这样的类型关键字(类型可自动推断)。这种设计让代码更像“自然语言”,读起来更直观。
在接下来的内容中,我会带你一步步掌握 Kotlin 基础语法的核心要素。不需要你有深厚背景,只需一点耐心,你就能写出可运行、可维护的 Kotlin 代码。
变量声明与数据类型
在 Kotlin 中,变量的声明方式与 Java 有本质不同。Kotlin 鼓励使用 val(不可变)和 var(可变)来区分变量是否可更改。这就像给变量贴上了“是否允许修改”的标签,帮助你从一开始就养成良好的编程习惯。
val name = "张三" // val 声明不可变变量,相当于 final
var age = 25 // var 声明可变变量,值可以更改
age = 26 // ✅ 合法:age 可变,可以重新赋值
// name = "李四" // ❌ 错误:val 变量不能重新赋值
注释:
val类似于 Java 中的final,一旦赋值就不能再改。var则允许后续修改。推荐优先使用val,除非确实需要改变值。
Kotlin 支持常见的基本数据类型,如 Int、Double、Boolean、String 等。类型通常可以自动推断,但也可以显式声明:
val score: Double = 98.5 // 显式声明类型为 Double
val isPassed: Boolean = true // 布尔类型,用于逻辑判断
val message: String = "Hello" // 字符串类型
注释:Kotlin 的类型系统非常安全。如果你尝试将字符串赋给整型变量,编译器会直接报错,而不是运行时崩溃。
函数定义与调用
函数是代码复用的核心。Kotlin 的函数语法非常简洁,使用 fun 关键字定义。
fun greet(name: String): String {
return "你好,$name!欢迎来到 Kotlin 世界。"
}
// 调用函数
val result = greet("小王")
println(result) // 输出:你好,小王!欢迎来到 Kotlin 世界。
注释:
fun后跟函数名,参数列表写在括号里,:后面是返回类型。return是可选的,如果函数体只有一行表达式,可以省略return。
Kotlin 支持表达式作为函数体,即无需显式写 return:
fun add(a: Int, b: Int) = a + b // 简洁写法:直接返回表达式结果
val sum = add(3, 5)
println(sum) // 输出:8
注释:这种写法称为“表达式函数”,适用于逻辑简单的函数。它让代码更紧凑,也更易读。
条件判断与控制流
Kotlin 的 if 表达式比 Java 更强大。它不仅是一个语句,更是一个表达式,可以返回值。
val score = 85
val grade = if (score >= 90) {
"A"
} else if (score >= 80) {
"B"
} else if (score >= 70) {
"C"
} else {
"D"
}
println("你的成绩是:$grade") // 输出:你的成绩是:B
注释:Kotlin 的
if块可以作为表达式返回值,因此可以在变量声明中直接使用。这在 Java 中是做不到的。
此外,Kotlin 还引入了 when 表达式,它是 switch 的升级版,功能更强,更安全。
val day = 3
val description = when (day) {
1 -> "星期一"
2 -> "星期二"
3 -> "星期三"
4 -> "星期四"
5 -> "星期五"
6, 7 -> "周末" // 多个值可以合并
else -> "无效输入"
}
println(description) // 输出:星期三
注释:
when支持范围匹配(如in 1..7)、类型判断、甚至可以作为表达式返回值。它比 Java 的switch更灵活,也更少出错。
循环结构:for 与 while
Kotlin 提供了 for 和 while 两种循环结构,其中 for 的写法更贴近现代语言习惯。
遍历集合
val numbers = listOf(1, 2, 3, 4, 5)
for (num in numbers) {
println("当前数字:$num")
}
注释:
in是 Kotlin 的关键词,用于判断元素是否在集合中。这种写法类似 Python 的for item in list,非常直观。
数值循环
// 从 1 到 5(包含)
for (i in 1..5) {
print("$i ")
}
// 输出:1 2 3 4 5
// 从 1 到 5,步长为 2
for (i in 1..5 step 2) {
print("$i ")
}
// 输出:1 3 5
// 从 5 到 1(倒序)
for (i in 5 downTo 1) {
print("$i ")
}
// 输出:5 4 3 2 1
注释:
..表示范围,step指定步长,downTo实现倒序。这些语法让数字循环变得非常灵活。
while 循环
var count = 0
while (count < 3) {
println("循环次数:$count")
count++
}
注释:
while的语法与 Java 一致,但 Kotlin 更鼓励使用for循环,因为它更安全、更易读。
创建数组与初始化
数组是存储多个相同类型数据的容器。Kotlin 提供了多种方式创建和操作数组。
// 创建一个整型数组
val numbers = arrayOf(1, 2, 3, 4, 5)
// 创建一个空数组,指定类型
val emptyArray = arrayOfNulls<String>(3) // 创建长度为 3 的 String 数组,初始值为 null
// 使用数组构建器
val squares = Array(5) { i -> i * i } // 创建 5 个元素,每个元素为 i 的平方
println(squares.contentToString()) // 输出:[0, 1, 4, 9, 16]
注释:
arrayOf用于创建具体值的数组;arrayOfNulls用于创建可空数组;Array构造函数接受长度和一个 lambda,用于按需生成每个元素。
数组遍历与操作
val fruits = arrayOf("苹果", "香蕉", "橙子")
// 使用 for 循环遍历
for (fruit in fruits) {
println("水果:$fruit")
}
// 使用高阶函数 filter 和 map
val longFruits = fruits.filter { it.length > 2 }
val upperFruits = fruits.map { it.uppercase() }
println(longFruits) // 输出:[苹果, 香蕉, 橙子]
println(upperFruits) // 输出:[苹果, 香蕉, 橙子]
注释:
filter用于筛选元素,map用于转换元素。这些高阶函数是 Kotlin 的亮点,让数据处理更简洁。
类与对象:面向对象的基石
Kotlin 的类语法简洁,且默认是 public,无需额外修饰。
class Person(val name: String, var age: Int) {
// 主构造函数中直接声明属性
fun introduce() {
println("我是 $name,今年 $age 岁。")
}
fun haveBirthday() {
age++
println("$name 生日快乐!现在 $age 岁了。")
}
}
// 创建对象
val person = Person("小李", 20)
person.introduce() // 输出:我是 小李,今年 20 岁。
person.haveBirthday() // 输出:小李 生日快乐!现在 21 岁了。
注释:
val和var在构造函数参数中直接声明为类属性,省去了this.name = name的冗余代码。
数据类(data class)
当你需要一个“只存数据”的类时,Kotlin 提供了 data class,它会自动生成 equals、hashCode、toString 等方法。
data class Student(val id: Int, val name: String, val score: Double)
val student = Student(101, "小红", 95.5)
println(student) // 输出:Student(id=101, name=小红, score=95.5)
println(student.copy(score = 98.0)) // 复制并修改 score
注释:
data class适用于 DTO(数据传输对象),极大减少样板代码。
总结
Kotlin 基础语法的优雅之处,在于它用极简的写法实现了强大的功能。从变量声明到函数定义,从控制流到面向对象,每一个设计都围绕“减少冗余、提升可读性”展开。
无论你是刚接触编程的新手,还是已有 Java 经验的开发者,Kotlin 都能让你在短时间内写出更清晰、更安全的代码。它不是“另一种 Java”,而是对现代编程理念的一次成功实践。
掌握 Kotlin 基础语法,是你迈向高效开发的第一步。从今天开始,用更少的代码,表达更多的逻辑。