kotlin的函数表达式定义
演示kotlin的函数表达式定义
fun 函数名(参数:参数类型):返回值类型{
主题部分
return 返回部分
}
- 无返回值类型
fun init(a: Int, b: Int): Int {
return a + b
}
- 有返回值类型
fun init(a: Int, b: Int){
}
- 表达式作为函数体
fun sum(a: Int, b: Int) = a + b
kotlin定义变量
- var定义
var ii = 4
- val定义
val i: Int = 5
kotlin使用条件表达式
- 源码版
fun maxOf(str: String): String {
if (str == "王怀智") {
return "可以的"
} else {
return "重新输"
}
}
- 简化版
fun maxOf1(str: String) = if (str == "王怀智") "可以的" else "重新输"
kotlin判断是否为空
fun nullTest(s: String) {
if (s != null) {//一般正确str判断为空的方式:s!=null&&s.length()>0&&s.trim().length()>0
println("s不为空")
} else {
println("s为空")
}
}
kotlin类型自动检测
- 源码版
fun objTest() {
val s = "王怀智"
if (s is String) {
println("我是$s")
}
}
- Lambda版
val objTest={
val s = "王怀智"
if (s is String) {
println("我是$s")
}
}
kotlin使用for循环
fun forTest() {
var arr = listOf("英雄联盟", "穿越火线", "绝地求生")
for (item in arr) {
println("我喜欢玩$item")//直接获取到item值
}
for (index in arr.indices)//indices 索引
{
println("我不喜欢玩${arr[index]}")
}
}
kotlin使用when,也就是switch
fun whenTest(obj: Any) {
when (obj) {
1 -> "one"
2 -> "Two"
is Long -> "Long"
}
}
kotlin使用集合
fun listTest(){
var items = listOf("英雄联盟", "穿越火线", "绝地求生")
//(1)对集合进行迭代
for (item in items){
println(item)
}
//(2)使用when+in的方式判断是否存在其中
when{
"英雄联盟" in items->"包含其中"
}
//(3)使用lambda表达式来过滤(filter)与映射(map)集合
//it是单个参数的隐式名称
items.filter { it .startsWith("a")}
.sortedBy { it }
.map { it.toUpperCase() }
.forEach { println(it) }
}
- 对集合进行迭代
for (item in items){
println(item)
}
- 使用when+in的方式判断是否存在其中
when{
"英雄联盟" in items->"包含其中"
}
- 使用lambda表达式来过滤(filter)与映射(map)集合
items.filter { it .startsWith("a")}
.sortedBy { it }
.map { it.toUpperCase() }
.forEach { println(it) }
网友评论