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