1、普通for迴圈
for (i in 0..9) {
println(i)
}
for (i in 0 until 9) {
println(i)
}
複製程式碼
注意:
- 0..9 指的是[0,9]這個集合,左右都是閉合的,0和9均包含
- 0 until 9 指的是[0,9),左閉右開,包含0不包含9
2、集合的遍歷(這裡就用list舉例)
for迴圈遍歷
val list = listof<String>("泰國", "新加坡", "印度尼西亞")
for (item in list) {
println(item)
}
複製程式碼
帶index遍歷
val list = listof<String>("泰國", "新加坡", "印度尼西亞")
for ((index, element) in list) {
println("第$index個是$element")
}
複製程式碼
forEach
val list = listof<String>("泰國", "新加坡", "印度尼西亞")
list.forEach{
print(it)// it指的是當前list遍歷的值
}
複製程式碼
While 迴圈
while和do-while迴圈和java保持一致。
while(condition) {
do()
}
do {
do()
} while(conditon)
複製程式碼
Repeat語法
可以用來取代for(i in 0..9) ,這樣簡單的重複操作
repeat(10) {
println(it) //it這裡代表的是索引值
}
複製程式碼
跳躍語法
Kotlin中引入了標籤的概念,可以直接控制程式應該執行的程式碼是什麼。 標籤後面用@標明。
break, continue
loop@ for(i in 1..5){
for(j in 6..9){
if(j == 8) break@loop
}
}
複製程式碼
這段程式碼中的break將會跳出帶有loop@標籤的迴圈。continue和break的用法一樣。最好自己實踐一下,將標籤打到不同的位置
return
fun foo() {
ints.forEach lit@ {
if (it == 0) return@lit
print(it)
}
}
複製程式碼
fun foo() {
ints.forEach {
if (it == 0) return@forEach
print(it)
}
}
複製程式碼
以上兩段return效果一樣。 還可以使用匿名函式直接返回值
fun foo() {
ints.forEach(fun(value: Int) {
if (value == 0) return
print(value)
})
}
複製程式碼
注意: return是用到fun中,也就是方法中的,break和continue是用在loop中的。這個可以自己測試一下。最好自己用程式碼跑一遍,可以加深印象!!!