Kotlin快速入門4-控制結構

控制結構

控制結構默認順序執行。

if

if (expression) statement
if (expression) {
    statements
}

expression解析爲Boolean。如果表達式爲true,則將執行statement。

>>> val theQuestion = "Doctor who"
>>> val answer = "Theta Sigma"
>>> val correctAnswer = ""
>>> if (answer == correctAnswer) println("You are correct")
>>> val correctAnswer = answer
>>> if (answer == correctAnswer) println("You are correct")
You are correct

if可以做表達式使用。

fun main(args: Array<String>) {
    val theQuestion = "Doctor who"
    val answer = "Theta Sigma"
    val correctAnswer = ""
    var message = if (answer == correctAnswer) {
        "You are correct"
    }
    else{
        "Try again"
    }
    println(message)
    val answer2 = ""
    var message2 = if (answer2 == correctAnswer) "You are correct" else "Try again"
    println(message2)
}

執行結果:

Try again
You are correct

類似Python,Kotlin沒有三元運算符,但if else能實現三元運算。

參考資料

when

Kotlin沒有switch語句,但有類似的when語句。

import java.util.*

fun main(args: Array<String>) {
    val d = Date()
    val c = Calendar.getInstance()
    val day = c.get(Calendar.DAY_OF_WEEK)
    when (day) {
        1 -> println("Sunday")
        2 -> println("Monday")
        3 -> println("Tuesday")
        4 -> println("Wednesday")
        5 -> println("Thursday")
        6 -> println("Friday")
        7 -> println("Saturday")
    }
}

與switch語句不同,匹配後不會走到下一個分支。switch也可以做表達式使用,此時儘量記得必須補充上else。

import java.util.*

fun main(args: Array<String>) {
    val d = Date()
    val c = Calendar.getInstance()
    val day = c.get(Calendar.DAY_OF_WEEK)
    var dayOfweek = when (day) {
        1 -> "Sunday"
        2 -> "Monday"
        3 -> "Tuesday"
        4 -> "Wednesday"
        else -> "Unknown"
    }
    print(dayOfweek)
}

更復雜的實例:

fun main(args: Array<String>) {
    print("What is the answer to life? ")
    var response:Int? = readLine()?.toInt()
    val message = when(response){
        42 -> "So long, and thanks for the all fish"
        43, 44, 45 -> "either 43,44 or 45"
        in 46 .. 100 -> "forty six to one hundred"
        else -> "Not what I'm looking for"
    }
    println(message)
}

while

fun main(args: Array<String>) {
    var count = 0
    val finish = 5
    while (count++ < finish) {
        println("counter = $count")
    }
}

for

Kotlin的for基本上是照搬了python。

fun main(args: Array<String>) {
    val words = "The quick brown fox".split(" ")
    for(word in words) {
        println(word)
    }
    for (i in 1..10) {
        println(i)
    }
}

執行結果

The
quick
brown
fox
1
2
3
4
5
6
7
8
9
10
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章