Kotlin 学习笔记

2019-04-16  本文已影响0人  谁动了我的代码QAQ
最近在闲暇时间学习Kotlin,但是发现看一点过一段时间就会忘记,所谓好记性不如烂笔头,干脆就记录一下所学东西。深刻记忆。

1.变量

Kotlin声明一个变量使用var关键字。声明一个常量使用关键字valval这个与java中final类似。所以在Kotlin中我们需要注意的是尽可能的使用val。Kotlin是可以自动判断出字符类型的,例如下面的代码中,var quantity = 5quantity会被认为是为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中声明

上一篇下一篇

猜你喜欢

热点阅读