kotlin基础1

兄弟姐妹们在线分析下,kotlin基础1
最新回答
待在绿匣里的猫

2021-05-10 23:34:27

Kotlin 基础涵盖语言核心特性,包括内置类型、运算符、控制流语句、循环结构、空安全机制等。 以下是关键知识点的总结:

一、内置类型

Kotlin 的基本数据类型包括整型(Int、Long、Short、Byte)、浮点型(Float、Double)、字符型(Char)、布尔型(Boolean)和字符串(String)。这些类型均为对象,支持方法调用和运算符重载。

二、运算符
  1. 比较运算符用于比较两个值的大小关系,返回布尔类型结果。包括:

    >、<、>=、<=:数值比较

    ==、!=:结构相等性比较(需重写 equals() 方法)

    ===、!==:引用相等性比较(判断对象是否为同一实例)

  1. 算术运算符支持基本数学运算:

    +、-、*、/、%:加减乘除取余

    ++、--:自增自减(前缀形式先运算后返回,后缀形式先返回后运算)

  1. 赋值运算符结合算术运算与赋值操作:

    +=、-=、*=、/=、%=:例如 a += 1 等价于 a = a + 1

  1. 逻辑运算符用于布尔值组合运算:

    &&:逻辑与(短路求值)

    ||:逻辑或(短路求值)

    !:逻辑非

三、控制流语句
  1. 条件语句

    三元运算符替代方案:Kotlin 无传统三元运算符,使用 if-else 表达式实现:

    val max = if (a > b) a else b

    when 语句:类似 switch-case,支持多条件匹配、范围判断和布尔表达式:

    when (monthIndex) { 1 -> monthName = "冬季" 3, 4, 5 -> monthName = "春季" else -> monthName = "夏季"}// 无参数形式(基于布尔条件)when { a.length > b.length -> { /* 执行代码 */ } else -> { /* 执行代码 */ }}
四、循环结构
  1. while 循环先判断条件,条件为真时执行循环体:

    while (number > 0) { println(number) number--}
  2. do...while 循环先执行一次循环体,再判断条件:

    do { println(number) number--} while (number > 7)
  3. for 循环

    区间遍历:使用 .. 或 rangeTo 定义闭区间,until 定义半开区间:

    for (i in 0..3) println("i = $i") // 0,1,2,3for (i in 0 until 3) println("i = $i") // 0,1,2

    逆向遍历:使用 downTo:

    for (i in 3 downTo 0) println("i = $i") // 3,2,1,0

    指定步长:使用 step:

    for (i in 0..4 step 2) println("i = $i") // 0,2,4
  4. forEach 循环遍历数组或集合,支持索引访问:

    val mIntArray = intArrayOf(1, 2, 3, 4, 5)mIntArray.forEach { println("it=$it") } // 遍历元素mIntArray.forEachIndexed { index, it -> println("index=$index, it=$it") } // 遍历索引和元素
五、跳转语句
  1. break终止当前循环,支持标签跳转(跳出外层循环):

    loop1@ for (i in 0..9) { for (j in 0..i) { if (i > 4) break@loop1 // 跳出外层循环 print("*") } println()}
  2. continue跳过本次循环剩余代码,支持标签跳转(跳过外层循环的本次迭代):

    for (i in 1 until 101) { if (i % 2 == 0) continue // 跳过偶数 sum += i}
六、常量定义

使用 const val 声明编译时常量(需在 companion object 或顶层作用域中):

companion object { const val ShortVideoItemList = "short_video_item_list"}七、空安全机制
  1. 安全调用运算符 ?.若对象为 null,则跳过后续调用并返回 null:

    val length = str?.length // 若 str 为 null,length 为 null
  2. 非空断言运算符 !!.若对象为 null,抛出 NullPointerException:

    val length = str!!.length // 强制要求 str 非空
八、集合接口

Kotlin 集合框架包含 Collection、List、Set、Map 等接口,支持不可变与可变集合:

  • 不可变集合:通过 listOf()、setOf()、mapOf() 创建,元素不可修改。
  • 可变集合:通过 mutableListOf()、mutableSetOf()、mutableMapOf() 创建,支持增删改操作。

通过掌握以上基础内容,可高效开发 Kotlin 应用程序,并利用其类型安全、空安全等特性减少运行时错误。