福州网站建设教程视频,旅游网站的首页怎么做,建站合同模板,美乐乐 网站建设变量声明
var#xff1a;用于值不改变的变量#xff0c;使用val声明的变量无法重新赋值
val#xff1a;用于值可以改变的变量 变量声明格式
var/val data(变量名称) : Int(变量类型)
Kotlin基本数据类#xff1a;
Int、Byte、Short、Long、Float、Double
Kotlin类型推…变量声明
var用于值不改变的变量使用val声明的变量无法重新赋值
val用于值可以改变的变量 变量声明格式
var/val data(变量名称) : Int(变量类型)
Kotlin基本数据类
Int、Byte、Short、Long、Float、Double
Kotlin类型推断
Kotlin编译器可以根据所赋值的类型来推断其类型
如val str “data”
Null安全
Kotlin变量不能持有Null值如果要使变量持有Null它必须是可为Null类型可以在变量类型后面加上后缀将变量指定为可为Null。如
Val languageName:String?null
?表示可为空
!!表示可能为空的值不为空非Null断言符
?:该运算符是处理变量为空的情况
条件语句
If else if else
条件语句可作为返回值返回给变量
Val answerString:String if() {“…”} else if(){“…”} else {“…”} When类比java的switch但是判定条件比java灵活
Val answerString when {
Count 42 -””
Couint 35 - “”
Else - “” } 函数
使用fun关键字声明例如
fun generateAnswerString() : String { val answerString “” return answerString
}
带参数的函数
fun generateAnswerString(a : String) :String { …
} 匿名函数
val stringLenthFunc: (String)-Int {input- input.length
} 高阶函数一个函数可以将另一个函数当做参数类似java中的回调接口
fun stringMapper(str: String, mapperString-Int)Int {
return mapper(str)
}
类使用class关键字来定义
class Car 属性通过val、var关键字来定义
Val data : Int 0
Getter与setter
默认情况下kotlin的属性都自带上述两个方法
如果需要对该属性的获取与赋值进行控制则需要重写对应方法 类函数和封装
Private关键字 数据类型和单例类
数据类只处理数据相关与java bean类似通常需要实现其get、set、hashCode、equals、toString等方法
data class UserBean(val id: String, val name: String, val pwd : String) 单例类
object Singleton {} Lambda 函数式API
匿名内部类需要使用object
Thread(object: Runnable { Override fun run() { Println(“test”)
}
}).start()
Null判断 let函数
let不是关键字而是一个函数提供了函数式API的编程接口会将调用者作为参数传递到lambda表达式调用之后会立马执行lambda表达式的逻辑
obj.let {it - //it就是obj
} 内嵌表达式
var name “a”
var age 20
println(“my name is $name, age is $age”)
使用${}可执行更复杂的操作
println(“${if (1 2) “a” else “b”}. test”)