kotlin學(xué)習(xí)筆記——表達(dá)式(中綴表達(dá)式、if表達(dá)式、when表達(dá)式、try-catch表達(dá)式)

一、中綴表達(dá)式

當(dāng)函數(shù)只有一個參數(shù)時,可以在函數(shù)前用infix修飾。
在調(diào)用函數(shù)時,可以通過對象+函數(shù)名+參數(shù)的形式來調(diào)用
工具類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("==========使用中綴表達(dá)式調(diào)用該函數(shù)==========")
    if(util isInArray array){
        println("在數(shù)組中")
    }else{
        println("沒在數(shù)組中")
    }

    println("==========使用常規(guī)方式調(diào)用該函數(shù)==========")
    if(util.isInArray(array)){
        println("在數(shù)組中")
    }else{
        println("沒在數(shù)組中")
    }
}
打印輸出
==========使用中綴表達(dá)式調(diào)用該函數(shù)==========
在數(shù)組中
==========使用常規(guī)方式調(diào)用該函數(shù)==========
在數(shù)組中

二、分支表達(dá)式

1.if else表達(dá)式

fun main() {
    val str = "a"
    val result = if (str === "a") {
        println("相等")
        true//返回值會賦值給result
    } else {
        println("不相等")
        false//返回值會賦值給result
    }
    println("結(jié)果:$result")
}
```kotlin
輸出結(jié)果

相等
結(jié)果:true

2.when表達(dá)式

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表達(dá)式返回值:$result")
}
打印輸出
打印aaa
when表達(dá)式返回值:AAA

3.try-catch表達(dá)式

fun main() {
    val a=1
    val b=0
    val result= try {
        a/b
    } catch (e: Exception) {
        e.printStackTrace()
        -999
    } finally {
        println("計算完畢")
    }
    println("結(jié)果:$result")
}
打印輸出
java.lang.ArithmeticException: / by zero
    at com.alick.kotlin.C學(xué)習(xí)表達(dá)式.Try_catch表達(dá)式Kt.main(try-catch表達(dá)式.kt:14)
    at com.alick.kotlin.C學(xué)習(xí)表達(dá)式.Try_catch表達(dá)式Kt.main(try-catch表達(dá)式.kt)
計算完畢
結(jié)果:-999
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容