Kotlin学习
Kotlin的速成。
数据类型
数据类型的定义
变量
1
2
3
4
5
6
7
8
9
10
11
12
13
14fun main(){
//变量的定义
//指定类型 其中的Int是一个对象
var name:Int = 1
//不指定类型,kt会进行自动推导
var name = 1
//如果是小数,则会被自动推导为double类型
//double类型:
var name = 1.2
//float类型 需要在小数后边加f或者F
var name = 1.2f
//长整型 在数后边加L
var name = 1L
}常量
1
2
3
4fun main(){
//常量的定义
val a:Int = 1
}
字符串的相关操作
get方法
1
2
3
4
5
6
7fun main(){
var data = "hello"
//输出 h
println(data.get(0))
//同时可以这样写
println(data.[0])
}equals方法
1
2
3
4
5
6
7
8
9fun main(){
var data_01 = "hello"
var data_02 = "hello"
var data_03 = "hello world"
//输出为TRUE
println(data_01.equals(data_02))
//输出为FALSE
printlin(data_01.equals(data_03))
}拼接文本
1
2
3
4
5
6fun main(){
var a = "world"
var data = "hello ${a}"
//输出结果: hello world
println(data)
}多行字符串
1
2
3
4
5
6
7fun main(){
var data = """
line1
line2
line3
""".trimIndent()
}
数组相关
数组的创建
1
2
3
4
5
6
7
8fun main(){
//第一种创建方式 使用函数arrayOf来进行创建
//[1, 2, 3]
val a = arrayOf(1, 2, 3)
//第二种创建方式 使用工厂函数
//[0, 2, 4]
val b = Array(3, {i -> (i*2)})
}数组的操作
1
2
3
4
5
6
7
8
9fun main(){
//读取数组的内容 []对应调用成员函数的get()和set()方法
println(a[0])
println(a[1])
//使用get() set() 一样可以实现
println(a.get(0))
a.set(0, 2)
println(a.get(0)) //输出为2
}注意:与Java不同的是,Kotlin中的数组是不型变的(invariant)
除了Array类,还有其他比如IntArray,ShortArray等,表示各种的数组,省去了装箱的操作,效率更高,其用法与ArrayOf一样:
1
2val x: IntArray = intArrayOf(i, 2, 3)
x[0] = x[1] + x[2]
list
list的创建
1
2
3
4
5
6fun main(){
//默认出创建空的list
val list = listOf<Int>()
//判断是否为空
println(list.isEmpty())
}注意这种创建的list是不可变的
可变list的创建:
1
2
3fun main(){
}
写到这又去看数学建模去了。。