安卓手机APP开发__Kotlin编程语言的基础介绍
目录
概述
一 条件逻辑的语言分支结构
1使用if/else语句表达条件
2使用一个when语句表达多路分支
3使用if/else还有when作为表达式
二 repeat函数作为循环逻辑的使用
总结
概述
在安卓手机上,系统鼓励使用编程语言 Kotlin进行程序开发。
下面介绍一下相关的基本知识。
一 条件逻辑的语言分支结构
1使用if/else语句表达条件
例1如下:
fun main() {
val trafficLightColor = "Black"
if (trafficLightColor == "Red") {
println("Stop")
} else if (trafficLightColor == "Yellow") {
println("Slow")
} else if (trafficLightColor == "Green") {
println("Go")
} else {
println("Invalid traffic-light color")
}
}
2使用一个when语句表达多路分支
例2如下:
fun main() {
val trafficLightColor = "Yellow"
when (trafficLightColor) {
"Red" -> println("Stop")
"Yellow" -> println("Slow")
"Green" -> println("Go")
else -> println("Invalid traffic-light color")
}
}
3使用if/else还有when作为表达式
例3如下:
fun main() {
val trafficLightColor = "Black"
val message =
if (trafficLightColor == "Red") "Stop"
else if (trafficLightColor == "Yellow") "Slow"
else if (trafficLightColor == "Green") "Go"
else "Invalid traffic-light color"
println(message)
}
例4如下:
fun main() {
val trafficLightColor = "Amber"
val message = when(trafficLightColor) {
"Red" -> "Stop"
"Yellow", "Amber" -> "Slow"
"Green" -> "Go"
else -> "Invalid traffic-light color"
}
println(message)
}
以上从例1到例4表达了同一个逻辑,它们的程序流程图如下:
例5 多个条件的合并,两者之间的条件,判断函数的条件
这个示例代码的逻辑是2,3,5,7时,输出是一个1到10的素数,在1到10之间且不是上一种情况时输出是1到10之间但不是素数. 第三种情况输出是整数但不是在1到10之间.第四种情况则不是整数.
fun main() {
val x: Any = 20
when (x) {
2, 3, 5, 7 -> println("x is a prime number between 1 and 10.")
in 1..10 -> println("x is a number between 1 and 10, but not a prime number.")
is Int -> println("x is an integer number, but not between 1 and 10.")
else -> println("x isn't an integer number.")
}
}
二 repeat函数作为循环逻辑的使用
例6函数的用法
该示例输出结果如下:
Have a treat!
Have a treat!
Have a treat!
Have a treat!
No treats!
fun main() {
val treatFunction = trickOrTreat(false)
val trickFunction = trickOrTreat(true)
repeat(4) {
treatFunction()
}
trickFunction()
}
fun trickOrTreat(isTrick: Boolean): () -> Unit {
if (isTrick) {
return trick
} else {
return treat
}
}
val trick = {
println("No treats!")
}
val treat = {
println("Have a treat!")
}
总结
在Kotlin语言中函数是第一等公民,它能被对待像一个数据类型。
Lambda表达式是写函数时的简略的形式。
你能把函数类型传递给其它的函数。
你能从其它的函数中返回一个函数类型
一个Lambda表达式返回最后一个表达式的值
如果只有一个参数的Lambda表达式的一个参数的标签被省略了,
这个表达式可以内联而不用变量名了,即它匿名了。
如果一个函数的最后一个参数是函数类型,你能使用Lambda语法,把Lambda表达式移动
到最后一个括号的后面。
高阶函数是以函数为参数,以函数为返回值。
repeat()是一个高阶函数,它的工作很类似于一个for循环。