Kotlin 学习笔记
2019-04-16 本文已影响0人
谁动了我的代码QAQ
最近在闲暇时间学习Kotlin,但是发现看一点过一段时间就会忘记,所谓好记性不如烂笔头,干脆就记录一下所学东西。深刻记忆。
1.变量
Kotlin声明一个变量使用var关键字。声明一个常量使用关键字val。val这个与java中final类似。所以在Kotlin中我们需要注意的是尽可能的使用val。Kotlin是可以自动判断出字符类型的,例如下面的代码中,var quantity = 5中quantity会被认为是为int型的,如果想声明一个double型的可以这样:var quantity :Double = 5。
fun main(args: Array<String>) {
var quantity = 5
val price: Double = 20.3
val name: String = "大米"
println("单价:$price")
println("数量:$quantity")
println("产品:$name 总计:${quantity * price}")
}
需要注意的是在声明的类型中,数字类型不会自动转型。比如不能给Double类型的分配一个Int
val i : Int = 5;
val s : Double = i.toDouble()
2.数组
在Kotlin中一般创建数组直接使用arrayOf(),就可以创建一个数组
val arr = arrayOf("a", "b", "c",1,2,3)
基本类型数组:ByteArray,LongArray等这些类是基本类型数组,但是跟Array类没有继承关系,但是它们有相同的属性集。Kotlin中的数组是不能型变得,也就是说Array<Int>不能赋值给Array<Any>
val intArr: IntArray = intArrayOf(1,2,3)
val longArr: LongArray = longArrayOf(1L,2L,3L)
val floatArr: FloatArray = floatArrayOf(1.0f,2.0f,3.0f)
val doubleArr: DoubleArray = doubleArrayOf(1.0,2.02,3.03333)
val booleanArr: BooleanArray = booleanArrayOf(false,true,false)
3.in 关键字
//如果存在于区间(1,Y-1),则打印OK
if (x in 1..y-1) {
print("OK")
}
//如果x不存在于array中,则输出Out
if (x !in 0..array.lastIndex)
print("Out")
//打印1到5
for (x in 1..5)
print(x)
//遍历集合(类似于Java中的for(String name : names))
for (name in names)
println(name)
//如果names集合中包含text对象则打印yes
if (text in names)
print("yes")
4.函数
函数使用关键字fun声明,如下代码创建了一个名为say()的函数,它接受一个String类型的参数,并返回一个String类型的值
fun say(str: String): String {
return str
}
同时,在 Kotlin 中,如果像这种简单的函数,可以简写为
fun say(str :String): String = str
fun <函数名>(<参数名1> : <参数1类型>, <参数名2> : <参数2类型>...) : <函数返回类型> {
函数体...
return <返回值>
}
5.const的使用
·const必须修饰val
·const 只允许在top-level级别和object中声明