做网站关键词,网站规划的一般步骤,大灰狼网站更新升级通知,免费模板下载免费版Kotlin 概述 Kotlin 由 JetBrains 开发#xff0c;是一种在 JVM#xff08;Java 虚拟机#xff09;上运行的静态类型编程语言 Kotlin 旨在提高开发者的编码效率和安全性#xff0c;同时保持与 Java 的高度互操作性 Kotlin 是 Android 应用开发的首选语言#xff0c;也可…Kotlin 概述 Kotlin 由 JetBrains 开发是一种在 JVMJava 虚拟机上运行的静态类型编程语言 Kotlin 旨在提高开发者的编码效率和安全性同时保持与 Java 的高度互操作性 Kotlin 是 Android 应用开发的首选语言也可以与 Java 一样用于服务器端开发 一、数组的创建
1、基本类型数组创建
使用工厂函数创建
val byteArray: ByteArray byteArrayOf(1, 2, 3)
val shortArray: ShortArray shortArrayOf(1, 2, 3)
val intArray: IntArray intArrayOf(1, 2, 3)
val longArray: LongArray longArrayOf(1L, 2L, 3L)val floatArray: FloatArray floatArrayOf(1f, 2f, 3f)
val doubleArray: DoubleArray doubleArrayOf(1.0, 2.0, 3.0)val charArray: CharArray charArrayOf(a, b, c)val booleanArray: BooleanArray booleanArrayOf(true, false, true)// 使用工厂函数创建空数组val intArr1 emptyArrayInt()// 创建指定大小的数组元素初始化为 nullval intArr2 arrayOfNullsInt(5)使用构造函数创建
// 创建大小为 10 的数组初始化为 0
val intArray1: IntArray IntArray(10)// 创建大小为 10 的数组使用 lambda 表达式初始化
val intArray2: IntArray IntArray(10) {it * 2
}2、非基本类型数组创建
使用工厂函数创建
val stringArray: ArrayString arrayOf(a, b, c)// 使用工厂函数创建空数组val stringArr1 emptyArrayString()// 创建指定大小的数组元素初始化为 nullval stringArr2 arrayOfNullsString(5)使用构造函数创建
// 创建大小为 10 的数组使用 lambda 表达式初始化val stringArray: ArrayString Array(10) {Hello, $it
}二、数组元素的访问与修改
使用方括号访问与修改
val intArray: IntArray intArrayOf(1, 2, 3)println(intArray[0])intArray[0] 10println(intArray[0])# 输出结果1
10使用 set 方法访问与修改
val intArray: IntArray intArrayOf(1, 2, 3)println(intArray[0])intArray.set(0, 10)println(intArray[0])# 输出结果1
10三、数组遍历
使用 for 循环遍历
val numbers: IntArray intArrayOf(1, 2, 3)for (number in numbers) {println(number)
}# 输出结果1
2
3使用索引遍历
val numbers: IntArray intArrayOf(1, 2, 3)for (i in numbers.indices) {println(numbers[i])
}# 输出结果1
2
3使用 withIndex 遍历
val numbers: IntArray intArrayOf(1, 2, 3)for ((index, value) in numbers.withIndex()) {println($index: $value)
}# 输出结果0: 1
1: 2
2: 3使用 forEach 遍历
val numbers: IntArray intArrayOf(1, 2, 3)numbers.forEach { println(it) }# 输出结果1
2
3使用 forEachIndexed 遍历
val numbers: IntArray intArrayOf(1, 2, 3)numbers.forEachIndexed { index, value -println($index: $value)
}# 输出结果0: 1
1: 2
2: 3四、数组操作
数组转换为 List
val numbers intArrayOf(1, 2, 3, 4, 5)val list numbers.toList()println(list)# 输出结果[1, 2, 3, 4, 5]数组切片
val numbers intArrayOf(1, 2, 3, 4, 5)val slice numbers.sliceArray(1..3)println(slice.contentToString())# 输出结果[2, 3, 4]数组过滤
val numbers intArrayOf(1, 2, 3, 4, 5)val evens numbers.filter { it % 2 0 }.toIntArray()println(evens.contentToString())# 输出结果[2, 4]数组映射
val numbers intArrayOf(1, 2, 3, 4, 5)val squares numbers.map { it * it }.toIntArray()println(squares.contentToString())# 输出结果[1, 4, 9, 16, 25]数组排序
val numbers intArrayOf(3, 4, 5, 1, 2)// 升序
val sorted numbers.sortedArray()println(sorted.contentToString())// 降序
val sortedDesc numbers.sortedArrayDescending()println(sortedDesc.contentToString())# 输出结果[1, 2, 3, 4, 5]
[5, 4, 3, 2, 1]数组查找
val numbers intArrayOf(1, 2, 3, 4, 5)val firstEven numbers.find { it % 2 0 }println(firstEven)val anyGreaterThan10 numbers.any { it 10 }println(anyGreaterThan10)# 输出结果2
false五、多维数组
创建二维数组
// 3 * 3 的二维数组初始化为 0
val matrix Array(3) { IntArray(3) }初始化二维数组
val matrix arrayOf(intArrayOf(1, 2, 3),intArrayOf(4, 5, 6),intArrayOf(7, 8, 9)
)println(matrix[1][0])
println(matrix[1][1])
println(matrix[1][2])# 输出结果4
5
6六、数组与可变参数
使用 vararg 关键字表示可变参数本质上就是数组
fun printAll(vararg messages: String) {for (m in messages) println(m)
}printAll(Hello, World, Kotlin)val array arrayOf(a, b, c)
printAll(*array)# 输出结果Hello
World
Kotlin
a
b
c