技術學習記錄

[Android]Kotlin學習筆記#2-流程控制

簡單的條件判斷

一般條件判斷,通常都是指if-else判斷式,在Kotlin中也是如此。

但Kotlin的if-else還能拿來作為運算使用,如下:

fun main() {
    val score = 60
    val grade = if (score >= 60) "及格" else "不及格"
    println("分數: $score")
    println("成績: $grade")
}

當score大於或等於60時,grade輸出及格, 結果如下:

分數: 60
成績: 及格

當score小於60時,grade輸出不及格,結果如下:

分數: 59
成績: 不及格

多條件判斷

在Java的世界裡,多條件判斷有switch-case和if-else兩種方式可以選擇使用,但在Kotlin則是用when取代。

when和switch-case一樣可以針對條件做對應的處理,但when的功能更強大,且同樣可以拿來運算,如下:

fun main() {
    val score = 98
    val grade = when (score) {
        in 96..100 -> "甲上"
        in 91..95 -> "甲"
        in 86..90 -> "甲下"
        in 81..85 -> "乙上"
        in 71..80 -> "乙"
        in 60..70 -> "乙下"
        else -> "不列入評分"
    }
    
    println("分數: $score")
    println("成績: $grade")
}

當score=98時,輸出結果如下:

分數: 98
成績: 甲上

當score=63時,輸出結果如下:

分數: 63
成績: 乙下

for迴圈

以下是Kotlin的for迴圈,用..代表範圍,也就是從0~9:

fun main() {
    for (i in 0..9) {
        println(i)
    }
}

輸出結果如下:

0
1
2
3
4
5
6
7
8
9

下面的例子是由0~n-1的方式:

fun main() {
    for (i in 0 until 9) {
        println(i)
    }
}

輸出結果如下:

0
1
2
3
4
5
6
7
8

除了上述兩種方式之外,Kotlin也支援step,用法如下:

fun main() {
    for (i in 0..9 step(2)) {
        println(i)
    }
}

輸出結果如下:

0
2
4
6
8

最後,展示一下遍歷集合的方式:

fun main() {
    val array = intArrayOf(0, 2, 4, 6, 8, 10)
    for (i in array) {
        println(i)
    }
}

輸出結果如下:

0
2
4
6
8
10

while迴圈

Kotlin的while,基本上用法跟Java一樣,因此直接看程式碼就好。

while

fun main() {
    var i = 0
    while(i < 5) {
        println(i)
        i++
    }
}

do-while

fun main() {
    var i = 0
    do {
        println(i)
        i++
    } while (i < 5)
}

以上就是Kotlin流程控制部分的一些研究心得,之後若有更深入的研究,會再補充上來。

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *