Kotlin編程循環(huán)控制示例詳解
本文總覽
本篇來學習Kotlin循環(huán)結構的知識
1. While循環(huán)
while循環(huán)用于重復迭代代碼塊,只要給定條件為 true就會執(zhí)行一次循環(huán)代碼塊。若條件為 false,則直接跳過循環(huán)代碼塊執(zhí)行后面代碼。
while (x > 0) { x-- } // 當條件 x>0 成立,x 就會減一
do-while循環(huán) 與 while循環(huán)相類似,也可用于重復執(zhí)行迭代代碼塊。但有差別的點是:它會先執(zhí)行一次循環(huán)代碼塊,才檢測條件是否滿足,換句話說:它會至少執(zhí)行一次 循環(huán)代碼塊。
do { val y = retrieveData() } while (y != null)
// 不管while 條件是否滿足,都會先執(zhí)行一次 y = retrieveData()
有時候會看到一些無限循環(huán)的示例,只要將條件語句設定為 true,就會一直循環(huán)執(zhí)行 迭代代碼塊:
do {
// 循環(huán)代碼塊
}
while (true)
2. For循環(huán)
for循環(huán)用于迭代或循環(huán) 數(shù)組,范圍,集合等的元素,可以對任何提供迭代器(iterator)的對象進?遍歷。它的語法格式:
for (item in collection) {// 邏輯處理}
?個成員函數(shù)或者擴展函數(shù) iterator() 返回 Iterator<>
- 有?個成員函數(shù)或者擴展函數(shù) next()
- 有?個成員函數(shù)或者擴展函數(shù) hasNext() 返回 Boolean
可以用在數(shù)字區(qū)間上迭代,使用區(qū)間表達式
for (i in 1..3) { println(i) } // 逐個打印 區(qū)間[1,3]中的數(shù)字
- 遍歷數(shù)組,同時打印出元素下標和元素值
for ((index, value) in array.withIndex()) { // 使用 庫函數(shù)withIndex()
println("the element at $index is $value") // 逐個打印元素的下標和數(shù)值
}
forEach語句:使用這個語句遍歷數(shù)組或集合,比for語句更加簡便,語法形式如下:
調(diào)用者.forEach() {
println("it=${it}") // 逐個打印元素
}
日常開發(fā)中,結合實際業(yè)務場景來選取使用 for 還是 for-each。
3. break和continue
在 Kotlin 中有三種結構化跳轉(zhuǎn)表達式:
- return 直接返回方法/函數(shù)的值,結束;
- break 跳出本次循環(huán),繼續(xù)執(zhí)行后面業(yè)務代碼
- continue 跳出本次循環(huán),直接進入下一次循環(huán)
3.1 break語句
break最常用在 java 中,常與與 switch組成 switch-break 語句。但在 Kotlin 中沒有switch這個語法,break語句通常與 if表達式 一起用:
for(n in 1..10){
if (n==5) {
break // 在 n = 5時跳出循環(huán)
}
}
與 if語句組合,一旦滿足給定的條件時,就會終止本次循環(huán)。
3.2 continue語句
continue 用于跳過本次迭代并將控制流跳轉(zhuǎn)到下一次迭代,通常與 if表達式 一起使用,以跳過指定條件的當前循環(huán)。
for (n in 1..5){
...
if(n==2||n==4) {
continue // 只要滿足上述條件,就會執(zhí)行該語句跳出本次循環(huán)
}
...
}
其實 continue 在Java或者Kotlin用法是一樣的,都很好理解和記住。
總結
主要學習了循環(huán)結構的幾個語法知識點, 之前學過 java或c/c++的話,這個知識點其實一點都不難,if while的用法完全一樣,只是寫法有一點點調(diào)整。還結合示例代碼有助于加深理解,學知識就是多寫多練!
以上就是Kotlin編程循環(huán)控制示例詳解的詳細內(nèi)容,更多關于Kotlin循環(huán)控制的資料請關注腳本之家其它相關文章!
相關文章
OpenHarmony實現(xiàn)屏幕亮度動態(tài)調(diào)節(jié)方法詳解
大家在拿到dayu之后,都吐槽說,會經(jīng)常熄屏,不利于調(diào)試,那么有沒有一種辦法,可以讓app不熄屏呢,答案是有的,今天我們就來揭秘一下,如何控制屏幕亮度2022-11-11
Android動態(tài)替換Application實現(xiàn)
這篇文章主要介紹了Android動態(tài)替換Application實現(xiàn),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-05-05
Android?性能優(yōu)化實現(xiàn)全量編譯提速的黑科技
這篇文章主要為大家介紹了Android?性能優(yōu)化實現(xiàn)全量編譯提速的黑科技,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-09-09
Android開發(fā)之多線程中實現(xiàn)利用自定義控件繪制小球并完成小球自動下落功能實例
這篇文章主要介紹了Android開發(fā)之多線程中實現(xiàn)利用自定義控件繪制小球并完成小球自動下落功能的方法,涉及Android多線程編程及圖形繪制相關技巧,需要的朋友可以參考下2015-12-12

