Kotlin学习笔记(2)--基础语法
基本语法
变量声明
在 Kotlin 中,变量可以使用 val 或 var 关键字声明。
val(是 “value(值)” 的缩写)声明一个不可变变量,这意味着在赋值后其值不能被改变。var(是 “variable(变量)” 的缩写)声明一个可变变量,这意味着在赋值后其值可以被改变。
// 不可变变量
val name: String = "John"
// name = "Jane" // 错误:Val 不能被重新赋值
// 可变变量
var age: Int = 30
age = 31 // 允许
类型推断:
Kotlin 具有强大的类型推断功能,可以在大多数情况下省略显式类型声明。
val name = "John" // 推断为 String
var age = 30 // 推断为 Int
数据类型
Kotlin 支持多种数据类型,主要分为以下几类:
-
基本类型
类型 描述 Byte8-bit 有符号整数 Short16-bit 有符号整数 Int32-bit 有符号整数 Long64-bit 有符号整数 Float32-bit IEEE 754 单精度浮点数 Double64-bit IEEE 754 双精度浮点数 Char16-bit Unicode 字符 Boolean布尔类型, true或false -
数组
数组可以存储固定大小的同类型元素。
val numbers: IntArray = intArrayOf(1, 2, 3, 4, 5) val names: Array<String> = arrayOf("Alice", "Bob", "Charlie") -
字符串
字符串是字符的序列,用双引号括起来。
val greeting: String = "Hello, Kotlin!" -
集合类型
- List
- Set
- Map
类型转换:
Kotlin 不会自动进行隐式类型转换,所以需要显式地进行转换。
val a: Int = 100
val b: Long = a.toLong()
val c: Double = b.toDouble()
val d: Float = c.toFloat()
控制语句
控制语句用于控制程序的流程,包括条件判断和循环。
If 条件语句
if 语句用于根据条件执行不同的代码块。
fun main() {
val x = 1 + 1
if (x == 2) {
println("x 是 2")
} else if (x == 3) {
println("x 是 3")
} else {
println("x 是其他值")
}
}
表达式形式的 If:
在 Kotlin 中,if 可以作为表达式返回值。
fun max(a: Int, b: Int): Int {
return if (a > b) a else b
}
When 表达式
when 表达式类似于 Java 中的 switch,但更加强大和灵活。
fun main() {
val x = 3
when (x) {
in 1..2 -> println("x 在 1 和 2 之间")
in 3..10 -> println("x 在 3 和 10 之间")
else -> {
println("x 不在 1 到 10 的范围内")
}
}
}
作为表达式使用:
fun getDescription(obj: Any): String =
when (obj) {
is Int -> "整数"
is String -> "字符串"
else -> "未知类型"
}
While 循环
while 循环在条件为 true 时重复执行代码块。
fun main() {
val shoppingList = mutableListOf("苹果", "香蕉", "橘子")
var counter = 0
while (counter < shoppingList.size) {
println(shoppingList[counter])
counter++
}
}
For 循环
for 循环用于遍历集合、数组或范围。
fun main() {
val shoppingList = mutableListOf("苹果", "香蕉", "橘子")
for (item in shoppingList) {
println(item)
}
// 遍历范围
for (i in 1..5) {
println(i)
}
}
使用步长和方向:
fun main() {
// 递增
for (i in 1..10 step 2) {
println(i)
}
// 递减
for (i in 10 downTo 1 step 3) {
println(i)
}
}
遍历映射:
fun main() {
val map = mapOf("a" to 1, "b" to 2, "c" to 3)
for ((key, value) in map) {
println("$key -> $value")
}
}

浙公网安备 33010602011771号