1. 程式人生 > >Kotlin入門筆記二:when、for、in

Kotlin入門筆記二:when、for、in

在這裡插入圖片描述

Kotlin中when

冒然提到when,想必大家都不知道這是什麼,其實kotlin中的when就是java的switch,只不過它的寫法要更簡潔,下面帶大家來熟悉下when的寫法和用法:

fun main(args: Array<String>) {
    useWhen(1)
    useWhen(2)
}

fun useWhen(flag: Int) {
    when (flag) {
        1 -> println("when 1")
        2 -> println("when 2")
    }
}

這是一段很簡單的when語法,相比較java中的case、break要簡潔多了吧,看著也舒服多了。如果將when和enum結合在一起,會更加的方便,比如:

fun main(args: Array<String>) {
    useWhen(Anima.BEAR)
    useWhen(Anima.CAT)
}

enum class Anima {
    DOG, CAT, BEAR
}

fun useWhen(anima: Anima) {
    when (anima) {
        Anima.BEAR -> println("when bear")
        Anima.DOG -> println("when dog")
        Anima.CAT -> println("when cat"
) } }

這裡需要注意,enum列舉的寫法和java很類似,但是大家要看清楚,java中的enum是不需要加class關鍵字的,反而kotlin中必須加上class關鍵字,別疏忽了。使用when來處理enum就不需要使用if來層層判斷了。

when和if語句一樣,都是有返回值的表示式,可以在->後面直接返回一個值或者一個表達體函式。

kotlin中for

1、學習for之前我們先了解下區間和數列

val rang = 1..10

kotlin中使用…來表示一個區間,1…10表達的就是從1到10,包括頭尾,我們用for來列印看看:

fun main(args: Array<String>
) { val rang = 1..10 for (i in rang) { println(i) } }

輸出結果:

1 2 3 4 5 6 7 8 9 10 

結果就顯而易見了,區間的用途很大,在日常開發中處處都能遇見。in不僅可以遞增還可以遞減,並設定遞減的梯度:

fun main(args: Array<String>) {
    for (i in 10 downTo 1 step 2) {
        print("$i ")
    }

輸出結果:

10 8 6 4 2 

in結合downTo是遞減的用法,step表示的是遞減的梯度,step 2就是每次減2.

上面介紹的都是in結合Int值來使用,在平時的開發中,處理集合使用for是再尋常不見的了,下面我們來看看使用in處理集合:

fun main(args: Array<String>) {
    val list = listOf("a", "b", "c", "d")
    for ((index, element) in list.withIndex()) {
        println("inde: $index, element: $element")
    }
}

輸出結果:

inde: 0, element: a
inde: 1, element: b
inde: 2, element: c
inde: 3, element: d

輕輕鬆鬆的就可以列印集合的元素,並且輸出座標,不僅list可以,setmap都是如此。

這期的內容比較簡單,但是卻是日常開發中最常見的,希望大家可以好好理解,下期將為大家帶來kotlin中最期待的空指標問題,在kotlin中得到了很完美的解決。

寫在最後

每個人不是天生就強大,你若不努力,如何證明自己,加油!

Thank You!

–Taonce