Kotlin 基础语法详解:从入门到精通
Kotlin 是一种现代化的静态类型编程语言,拥有简洁、安全、表达能力强的特点,它与 Java 互操作性良好,是 Android 开发的首选语言。本教程将带你深入了解 Kotlin 的基础语法,从变量到异常处理,让你快速掌握这门语言的核心概念。
一、变量和数据类型
Kotlin 中的变量声明使用 val
或 var
关键字:
val
: 不可变变量,一旦赋值后就不能更改。类似于 Java 中的final
修饰符。var
: 可变变量,可以多次赋值。
val name: String = "Alice" // 不可变变量
var age: Int = 20 // 可变变量
Kotlin 支持多种数据类型,包括:
- 数值类型:
Byte
,Short
,Int
,Long
,Float
,Double
- 字符类型:
Char
- 布尔类型:
Boolean
- 字符串类型:
String
- 数组类型:
Array
- 集合类型:
List
,Set
,Map
二、运算符
Kotlin 提供了一系列运算符,用于执行各种操作:
- 算术运算符:
+
,-
,*
,/
,%
- 比较运算符:
==
,!=
,>
,<
,>=
,<=
- 逻辑运算符:
&&
,||
,!
- 赋值运算符:
=
,+=
,-=
,*=
,/=
,%=
,++
,--
三、流程控制
Kotlin 提供了多种流程控制语句:
- if-else 语句: 根据条件执行不同代码块。
if (age >= 18) {
println("成年人")
} else {
println("未成年人")
}
- when 语句: 根据表达式匹配不同分支。
when (age) {
in 0..12 -> println("儿童")
in 13..17 -> println("青少年")
else -> println("成年人")
}
- for 循环: 迭代集合或区间。
for (i in 1..5) {
println(i)
}
- while 循环: 当条件满足时重复执行代码块。
var i = 0
while (i < 5) {
println(i)
i++
}
- break: 退出循环。
- continue: 跳过当前循环的剩余部分,进入下一轮循环。
四、函数
Kotlin 中的函数使用 fun
关键字定义:
fun sum(a: Int, b: Int): Int {
return a + b
}
函数可以接收参数并返回结果。参数类型和返回值类型必须声明。
五、类
类是 Kotlin 中面向对象编程的核心概念。
class Person(val name: String, var age: Int) {
fun sayHello() {
println("Hello, my name is $name")
}
}
- 类使用
class
关键字定义。 - 类可以包含属性和方法。
- 属性可以是可变的 (
var
) 或不可变的 (val
)。 - 方法定义类似于函数。
六、接口
接口定义一组方法签名,可以被类实现。
interface Drawable {
fun draw()
}
class Circle(val radius: Int): Drawable {
override fun draw() {
println("绘制圆形")
}
}
- 接口使用
interface
关键字定义。 - 接口中的方法默认是抽象的,需要由实现类实现。
- 使用
override
关键字覆盖接口方法。
七、异常处理
Kotlin 使用 try
, catch
, finally
语句来处理异常。
try {
// 可能抛出异常的代码
} catch (e: ArithmeticException) {
// 处理除零异常
} finally {
// 无论是否发生异常都会执行的代码
}
八、其他语法特性
- 字符串模板: 在字符串中使用
$
符号插入变量或表达式。 - 空安全: Kotlin 通过
?
和!!
运算符处理空值。 - 数据类: 用于简洁地创建包含数据的类。
- Lambda 表达式: 匿名函数,简化代码。
九、实例:计算器
fun main() {
println("请选择操作:")
println("1. 加法")
println("2. 减法")
println("3. 乘法")
println("4. 除法")
val choice = readLine()?.toIntOrNull()
if (choice != null && choice in 1..4) {
println("请输入第一个数字:")
val num1 = readLine()?.toIntOrNull()
println("请输入第二个数字:")
val num2 = readLine()?.toIntOrNull()
if (num1 != null && num2 != null) {
when (choice) {
1 -> println("$num1 + $num2 = ${num1 + num2}")
2 -> println("$num1 - $num2 = ${num1 - num2}")
3 -> println("$num1 * $num2 = ${num1 * num2}")
4 -> {
if (num2 != 0) {
println("$num1 / $num2 = ${num1 / num2}")
} else {
println("除数不能为零")
}
}
}
} else {
println("请输入有效的数字")
}
} else {
println("请选择有效的操作")
}
}
总结
本教程涵盖了 Kotlin 基础语法的主要部分,从变量、数据类型到函数、类、接口、异常处理等。通过学习这些基础知识,你将能够编写简单的 Kotlin 程序,并进一步学习更高级的特性。
学习资源
- Kotlin 官方文档: https://kotlinlang.org/docs/
- Kotlin Koans: https://kotlinlang.org/docs/kotlin-koans.html
- Kotlin 官方博客: https://blog.jetbrains.com/kotlin/