1. 程式人生 > >Blog-06-《一週快速上手Kotlin For Android》-之When分支

Blog-06-《一週快速上手Kotlin For Android》-之When分支

—《一週快速上手Kotlin For Android》簡介
目前Kotlin已正式成為Android的官方語言,作為Android開發者來說,學習和了解Kotlin也是屬於理所當然的事情,興許你覺得Java對於你來說才是真正的開發”利器”,使用Java你能發揮更高的效率,當然,如果如此你還是可以繼續使用Java來開發Android。但對於Kotlin來說,開發Android會變得更簡單一些,因為Kotlin其實就是Android開發中的語法糖,採用更簡短的程式碼,描述更多的邏輯而已。開發語言本身就沒有對錯和最優,每個開發語言被開發出來的時代背景不同,需要解決的主要問題也不同。選擇適合你自己的就可以。

一、when替代Java switch用法:

在Kotlin流程控制的中,與Java最為顯著的區別在於使用When分支徹底取代了Java中Switch分支。但具體的程式碼邏輯還是很一致的,上手也會很容易。首先來看看Java中的Switch分支的使用例項:

private void Test(){
    String grade = "1";

    switch (grade){
        case “1":
            Log.i(TAG, "
一年級");
            break;
        case “2"
:
            Log.i(TAG, "二年級"
);
            break;
        case “3":
            Log.i(TAG, "
三年級");
            break;
        default:
            Log.i(TAG, "
暫無年級資訊");

    }
}

修改為Kotlin分支使用例項:

private void Test(){
    var grade = "1"

    when(grade){
        "1" -> Log.i(TAG, "一年級")
        "2" -> Log.i(TAG, "二年級")
        "3" -> Log.i(TAG, "三年級"
)
        else -> Log.i(TAG, "暫無年級資訊")
    }
}

修改為Kotlin後,整體的程式碼會更加簡潔,對比主要有4點修改:

  1. switch關鍵字修改為when。
  2. case後的”:”符號,修改為 ->。
  3. 不需要break關鍵字。
  4. default修改為else。

二、when 分配多個值

var grade = "1"

when(grade){
    "1""2""3""4""5""6" -> Log.i(TAG, "小學")
    "7""8""9" -> Log.i(TAG, "初中")
    "10""11" -> Log.i(TAG, "高中")
    else -> Log.i(TAG, "暫無年級資訊")
}

若grade值為”10”或”11”時,均會執行第三個分支。

三、when分支處理範圍(表示式)

使用when表示式時,必須要有else分支。

var age = 6;
var str = when (age) {
    in 6..11 -> "小學"
    in 12..14 -> "中學"
    in 15..17 -> "高中"
    else -> “其他”
}
print(str)

在處理範圍時使用 in 關鍵字即可。

歡迎關注我的公眾號,分享更多的原創文章,關於技術、關於感悟。
這裡寫圖片描述