一劲厌、中綴表達式
當函數(shù)只有一個參數(shù)時,可以在函數(shù)前用infix修飾听隐。
在調用函數(shù)時,可以通過對象+函數(shù)名+參數(shù)的形式來調用
工具類Util
open class Util(var name: String) {
/**
* 是否在指定數(shù)組中
*/
open infix fun isInArray(array: Array<String>): Boolean {
array.forEach {
if (name === it) {
return true
}
}
return false
}
}
測試類
fun main() {
val array: Array<String> = arrayOf("a", "b", "c")
val util = Util("a")
println("==========使用中綴表達式調用該函數(shù)==========")
if(util isInArray array){
println("在數(shù)組中")
}else{
println("沒在數(shù)組中")
}
println("==========使用常規(guī)方式調用該函數(shù)==========")
if(util.isInArray(array)){
println("在數(shù)組中")
}else{
println("沒在數(shù)組中")
}
}
打印輸出
==========使用中綴表達式調用該函數(shù)==========
在數(shù)組中
==========使用常規(guī)方式調用該函數(shù)==========
在數(shù)組中
二补鼻、分支表達式
1.if else表達式
fun main() {
val str = "a"
val result = if (str === "a") {
println("相等")
true//返回值會賦值給result
} else {
println("不相等")
false//返回值會賦值給result
}
println("結果:$result")
}
```kotlin
輸出結果
相等
結果:true
2.when表達式
fun main() {
val str = "AAA"
val result = when (str) {
"aaa", "AAA" -> {//多個"或"條件可以用逗號","連接
println("打印aaa")
"AAA"
}
"bbb", "BBB" -> {//多個"或"條件可以用逗號","連接
println("打印bbb")
"BBB"
}
is String -> {
println("是String")
"是String"
}
else -> "CCC"
}
println("when表達式返回值:$result")
}
打印輸出
打印aaa
when表達式返回值:AAA
3.try-catch表達式
fun main() {
val a=1
val b=0
val result= try {
a/b
} catch (e: Exception) {
e.printStackTrace()
-999
} finally {
println("計算完畢")
}
println("結果:$result")
}
打印輸出
java.lang.ArithmeticException: / by zero
at com.alick.kotlin.C學習表達式.Try_catch表達式Kt.main(try-catch表達式.kt:14)
at com.alick.kotlin.C學習表達式.Try_catch表達式Kt.main(try-catch表達式.kt)
計算完畢
結果:-999