kotlin中的while循環(huán)無論是在語法和使用方式上都和Java中的沒有任何區(qū)別,因此不做講解,我們直接來看for循環(huán)
kotlin中將for-i循環(huán)直接舍棄了,對(duì)Java中的另一種for-each循環(huán)進(jìn)行了大幅度的加強(qiáng),變成了for-in循環(huán),所以只需要學(xué)習(xí)for-in的用法就可以了
區(qū)間的概念
使用如下代碼來表示一個(gè)區(qū)間:
val range = 0..10
上述代碼表示創(chuàng)建了一個(gè)0到10的區(qū)間,并且兩端都是閉區(qū)間[0,10]
其中..是創(chuàng)建兩端都是閉區(qū)間的關(guān)鍵字,有了區(qū)間之后就可以通過for-in來遍歷這個(gè)區(qū)間
for (i in 0..10) {
println(i)
}
通常情況,雙閉端區(qū)間不如單閉端區(qū)間好用,比如長度為10的數(shù)組下標(biāo)的范圍是0-9,因此左開右閉在程序設(shè)計(jì)當(dāng)中更加常用,kotlin可以使用until關(guān)鍵字來修飾一個(gè)左閉右開的區(qū)間:
val range = 0 until 10
上述創(chuàng)建了一個(gè)0到10的左閉右開區(qū)間,[0,10),修改循環(huán)語句,會(huì)發(fā)現(xiàn)10不會(huì)被打印出來了
默認(rèn)情況下,for-in循環(huán)每次執(zhí)行時(shí)會(huì)在區(qū)間范圍內(nèi)遞增1,相當(dāng)于Java中for-i中i++的效果,如果想跳過某些元素,可以使用step關(guān)鍵字:
for (i in 0 until 10 step 2) {
println(i)
}
上述代碼在遍歷的過程中,每次循環(huán)都會(huì)在區(qū)間范圍內(nèi)增加2,相當(dāng)于i = i + 2,運(yùn)行結(jié)果可以看出,所有的奇數(shù)都被跳過了
until關(guān)鍵字要求的是區(qū)間升序,也就是左邊必須小于右邊,如果想創(chuàng)建降序區(qū)間,可以使用downTo關(guān)鍵字:
for (i in 10 downTo 1) {
println(i)
}
對(duì)于數(shù)組和集合的遍歷后續(xù)拓展,敬請(qǐng)期待
點(diǎn)我查看:kotlin目錄
歡迎關(guān)注這個(gè)不是技術(shù)號(hào)的公眾號(hào)横堡,我們聊聊別的埋市。