Kotlin学习笔记(2)--基础语法

基本语法

变量声明

在 Kotlin 中,变量可以使用 valvar 关键字声明。

  • 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 支持多种数据类型,主要分为以下几类:

  • 基本类型

    类型 描述
    Byte 8-bit 有符号整数
    Short 16-bit 有符号整数
    Int 32-bit 有符号整数
    Long 64-bit 有符号整数
    Float 32-bit IEEE 754 单精度浮点数
    Double 64-bit IEEE 754 双精度浮点数
    Char 16-bit Unicode 字符
    Boolean 布尔类型,truefalse
  • 数组

    数组可以存储固定大小的同类型元素。

    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")
    }
}
posted @ 2024-10-19 19:15  Jacob-Chen  阅读(44)  评论(0)    收藏  举报