Kotlin編程循環控制示例詳解

本文總覽

本篇來學習Kotlin循環結構的知識

Kotlin循環控制.png

1. While循環

while循環用於重復迭代代碼塊,隻要給定條件為 true就會執行一次循環代碼塊。若條件為 false,則直接跳過循環代碼塊執行後面代碼。

while (x > 0) { x-- }  // 當條件 x>0 成立,x 就會減一

do-while循環 與 while循環相類似,也可用於重復執行迭代代碼塊。但有差別的點是:它會先執行一次循環代碼塊,才檢測條件是否滿足,換句話說:它會至少執行一次 循環代碼塊。

do { val y = retrieveData() } while (y != null) 
// 不管while 條件是否滿足,都會先執行一次 y = retrieveData()

有時候會看到一些無限循環的示例,隻要將條件語句設定為 true,就會一直循環執行 迭代代碼塊:

do {
     // 循環代碼塊
}
while (true)

2. For循環

for循環用於迭代或循環 數組,范圍,集合等的元素,可以對任何提供迭代器(iterator)的對象進⾏遍歷。它的語法格式:

for (item in collection) {// 邏輯處理}

⼀個成員函數或者擴展函數 iterator() 返回 Iterator<>

  • 有⼀個成員函數或者擴展函數 next()
  • 有⼀個成員函數或者擴展函數 hasNext() 返回 Boolean

可以用在數字區間上迭代,使用區間表達式

for (i in 1..3) { println(i) }  // 逐個打印 區間[1,3]中的數字
  • 遍歷數組,同時打印出元素下標和元素值
for ((index, value) in array.withIndex()) {  // 使用 庫函數withIndex()
    println("the element at $index is $value")  // 逐個打印元素的下標和數值
}

forEach語句:使用這個語句遍歷數組或集合,比for語句更加簡便,語法形式如下:

調用者.forEach() { 
     println("it=${it}")  // 逐個打印元素
}

日常開發中,結合實際業務場景來選取使用 for 還是 for-each

3. break和continue

在 Kotlin 中有三種結構化跳轉表達式:

  • return 直接返回方法/函數的值,結束;
  • break 跳出本次循環,繼續執行後面業務代碼
  • continue 跳出本次循環,直接進入下一次循環

3.1 break語句

break最常用在 java 中,常與與 switch組成 switch-break 語句。但在 Kotlin 中沒有switch這個語法,break語句通常與 if表達式 一起用:

for(n in 1..10){
    if (n==5) {
        break // 在 n = 5時跳出循環 
    }
}

與 if語句組合,一旦滿足給定的條件時,就會終止本次循環。

3.2 continue語句

continue 用於跳過本次迭代並將控制流跳轉到下一次迭代,通常與 if表達式 一起使用,以跳過指定條件的當前循環。

for (n in 1..5){
    ...
    if(n==2||n==4) {
        continue    // 隻要滿足上述條件,就會執行該語句跳出本次循環
    }
    ...
}

其實 continue 在Java或者Kotlin用法是一樣的,都很好理解和記住。

總結

主要學習瞭循環結構的幾個語法知識點, 之前學過 java或c/c++的話,這個知識點其實一點都不難,if while的用法完全一樣,隻是寫法有一點點調整。還結合示例代碼有助於加深理解,學知識就是多寫多練!

以上就是Kotlin編程循環控制示例詳解的詳細內容,更多關於Kotlin循環控制的資料請關註WalkonNet其它相關文章!

推薦閱讀: