Kotlin學習(4)-基礎之控制流

if 表達式

Kotlin中if是一個表達式,即它會返回一個值。java中我們可以使用三元表達式:

條件 ? result1 : result2
//傳統用法
var max = a
if(a < b) max = b

//
var max:Int
if(a > b){
    max = a
}else{
    max = b
}

//作爲表達式
val max = if(a>b) a else b


if的分支可以是代碼塊,最後的表達式作爲該塊的值:

val max = if (a > b) {
    print("Choose a")
    a
} else {
    print("Choose b")
    b
}

如果你使用 if 作爲表達式而不是語句(例如:返回它的值或者把它賦給變量),該表達式需要有 else 分支。

when表達式

  • 將它的參數與所有的分支條件順序比較,直到某個分支滿足條件
  • when 既可以被當做表達式使用也可以被當做語句使用
  • when 作爲一個表達式使用,則必須有 else 分支
  • 可以用任意表達式(而不只是常量)作爲分支條件
  • 如果很多分支需要用相同的方式處理,則可以把多個分支條件放在一起,用逗號分隔:
when (x) {
    1 -> print("x == 1")
    2 -> print("x == 2")
    else -> { // 注意這個塊
        print("x is neither 1 nor 2")
    }
}

3. For循環

對對象進行遍歷,Kotlin中使用關鍵字“in”代替了Java中的“:”符號。如下所示

for(item: Int in ints){
    
}

如果需要在數字區間上迭代,使用下面的方式:

for(i in 1..5){
    println(i)
}

for(i in 6 downTo 0 step 2){
    println(i)
}

想要通過索引遍歷數組或集合:

for(i in array.indices){
    println(array[i])
}

//使用庫函數
for((index,value) in array.withIndex()){
    println("the element at $index is $value")
}

While循環

Kotlin中while循環與java一樣。

while(x > 0){
    x--
}


do{
    val y = retrieveData() 
}while(y != null)

break 和continue

  • break:終止最直接包圍它的循環。
  • continue:繼續下一次最直接包圍它的循環
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章