Kotlin基本语法

定义函数

定义一个函数,int a , int b, return a+b

fun sum(a:Int , b:Int):Int{
    return a+b
 } 

该函数只有一个表达式函数体以及一个自推导性的返回值

fun sum(a:Int , b:Int) = a+b

返回一个void的类型,Unit可省略

fun doSomething():Unit{
}
fun doSomething(){
}

定义变量

定义一个变量

val a: Int = 333    //立即初始化
val b = 333    //推导出Int
val c: Int    //未初始化的变量必须定义类型
c = 333    //赋值

注释

//单行注释
/*这是
块注释*/

字符串模板

var a = 333
var a1 = "a is $a"    //使用变量名作为模板
var a2 = "${a1.replace("is","was")}"    //使用表达式作为模板

使用可空变量以及空值检查

fun parseInt(str : String): Int?{
    return str.toIntOrNull()
}

fun multiply(str1 : String , str2 : String):Int{
    val x = parseInt(str1)
    val y = parseInt(str2)
    //直接使用x,y会产生错误,因为可能会有空值
    if(x != null && y != null){
        //x,y在进行了值检测之后自动转化成非空值
        return x*y
    }
}

使用值检查并自动转换

is 操作符检查一个表达式是否是某个类型的实例

fun getStringLength(obj : Any): Int? {
    if(obj is String){
        //此时obj 自动转化成Sring类型
        return obj.length
    }
    return 0
}

for循环

val items = listOf{"apple","pears","banana"}
for (item in items) {
}
for (index in items.indices){
   //取值items[index]
}

while循环

val items = listOf{"apple","pears","banana"}
val index = 0
while (index < items.size){
   index++
}

使用when表达式

fun getString(obj : Any) : String = 
    when(obj){
        0 -> "zero"
        "1" -> "yi"
        false -> "false"
        is Long -> "is Long"
        !is Boolean -> "is not boolean"
        else -> "unKnow"
    }

ranges

in在某个范围内 !in不在耨个范围内

val a=19
if(a in 1..100){
    print("true")  
}

使用lambda表达式

val fruits = listOf("apple","wiki","banana","avocado")
    fruits
     .filter{ it.length>4 }
     .sortedBy{ it }
     .map{ it.toUpperCase() }
     .forEach{ printIn ( it ) }

你可能感兴趣的:(Kotlin基本语法)