首頁 > 軟體

Kotlin程式設計迴圈控制範例詳解

2022-08-20 14:01:10

本文總覽

本篇來學習Kotlin迴圈結構的知識

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迴圈控制的資料請關注it145.com其它相關文章!


IT145.com E-mail:sddin#qq.com