循環(huán)語句就是在滿足一定的條件下重復的執(zhí)行某個操作,學過Java的都知道,java提供了三種常用的循環(huán)語句,分別是for循環(huán)、while循環(huán)、do...while循環(huán),那么kotlin是否如此了,Kotlin同樣支持這三種循環(huán),下面我們來看看。
For循環(huán):
Kotlin廢除了Java中的for(初始值;條件;增減步長)這個規(guī)則。下面我們來看看kotlin的for循環(huán)吧。
for 循環(huán)可以對任何提供迭代器(iterator)的對象進行遍歷,語法如下:
for (item in collection) print(item)
基于until的遞增for循環(huán):關鍵字:until,范圍:[n,m)
實例:
for (item in 1 until 10){
print("$item ")
}
結果:1 2 3 4 5 6 7 8 9
“..” 表示遞增的循環(huán):符號( '..'),范圍:[n,m]
實例:
for (item in 1 .. 10){
print("$item ")
}
結果:1 2 3 4 5 6 7 8 9 10
當然也可以使用step()函數(shù)更改步長:
實例:
for (item in 1 .. 10 step 2){
print("$item ")
}
結果:1 3 5 7 9
基于downTo的遞減for循環(huán):關鍵字:downTo,范圍:[n,m]
實例:
for (item in 10 downTo 1) {
print("$item ")
}
結果:10 9 8 7 6 5 4 3 2 1
遍歷字符串:
val str: String = "kotlin is the best language"
for (item in str) {
print(item)
}
結果:kotlin is the best language
遍歷數(shù)組:
val str = arrayOf("kotlin","is","best","language")
for (item in str) {
print("$item ")
}
結果:kotlin is best language
使用數(shù)組的indices屬性遍歷:
val str = arrayOf("kotlin","is","best","language")
for (i in str.indices) {
print("${str[i]} ")
}
結果:kotlin is best language
使用數(shù)組的withIndex()方法遍歷:
val str = arrayOf("kotlin", "is", "best", "language")
for ((i, value) in str.withIndex()) {
println("$i $value")
}
結果:
0 kotlin
1 is
2 best
3 language
while、do...while循環(huán):
while和do...while是最基本的循環(huán),與Java基本一致。
while( 布爾表達式 ) {
//循環(huán)內(nèi)容
}
do {
//代碼語句
}while(布爾表達式)
while循環(huán)開始時,先判斷布爾表達式的值,如果滿足條件,進入循環(huán)體,再判斷…,直到不滿足條件,將跳出循環(huán)。
do..while循環(huán)開始時,先進入循環(huán)提一次,再判斷布爾表達式的值,如果滿足條件,進入循環(huán),再判斷…,直到不滿足條件,將跳出循環(huán)。
while實例:
val str = arrayOf("kotlin", "is", "best", "language")
var i = 0
while (i < str.size) {
print("${str[i]} ")
i++
}
結果:kotlin is best language
do ... while實例:
val str = arrayOf("kotlin", "is", "best", "language")
var i = 0
do {
print("${str[i]} ")
i++
} while (i < str.size)
結果:kotlin is best language
kotlin返回跳轉:
Kotlin 的跳轉表達式有三種:return、break、continue,基本與Java一致,此處不再贅述
- return:默認從直接包圍它的函數(shù)或者匿名函數(shù)返回
- break:終止最直接包圍它的循環(huán)
- continue:繼續(xù)下一次直接包圍它的循環(huán)
kotlin中也有類似C語言中的goto語句的用法,也就是 return@lable 、break@lable 、continue@lable,此處不做介紹,有興趣的可以研究下。