for (i in 0..9) {
println(i)
}
for (i in 0 until 9) {
println(i)
}
val list = listof<String>("aaa", "bbb", "ccc")
for (item in list) {
println(item)
}
用下标遍历
val list = listOf<String>("aaa", "bbb", "ccc")
for (index in list.indices) {
println("$index = ${list[index]}")
}
val list = listOf<String>("aaa", "bbb", "ccc")
for ((index, element) in list.withIndex()) {
println("$index = $element")
}
val list = listOf<String>("aaa", "bbb", "ccc")
list.forEach{
print(it)// it指的是当前list遍历的值
}
while和do-while循环和java保持一致。
while(condition) {
//doSth
}
do {
//doSth
} while(conditon)
重复10遍–》等同于for(i in 0…9)
repeat(10) {
print(it) //it这里代表的是索引值
}
//打印:0123456789
跳出到标签位置(j==2时,同时跳出i,j两个循环
print("开始循环\n")
jump@ for (i in 1..3) {
for (j in 1..3) {
if (j == 2) {
break@jump
}
print("i=$i,j=$j ")
}
}
print("\n结束循环")
打印:
开始循环
i=1,j=1
结束循环
跳出当前循环(j==2时,跳出j循环,继续i循环
print("开始循环\n")
for (i in 1..3) {
for (j in 1..3) {
if (j == 2) {
break
}
print("i=$i,j=$j ")
}
}
print("\n结束循环")
打印:
开始循环
i=1,j=1 i=2,j=1 i=3,j=1
结束循环
满足条件时,结束当前循环,到标签出继续循环(j==2时,跳过j循环,这里效果和break相同)
print("开始循环\n")
jump@ for (i in 1..3) {
for (j in 1..3) {
if (j == 2) {
continue@jump
}
print("i=$i,j=$j ")
}
}
print("\n结束循环")
打印:
开始循环
i=1,j=1 i=2,j=1 i=3,j=1
结束循环
满足条件时跳过当前循环(j==2时,跳过j循环,就当没发生过)
print("开始循环\n")
jump@ for (i in 1..3) {
for (j in 1..3) {
if (j == 2) {
continue
}
print("i=$i,j=$j ")
}
}
print("\n结束循环")
打印:
开始循环
i=1,j=1 i=1,j=3 i=2,j=1 i=2,j=3 i=3,j=1 i=3,j=3
结束循环
直接退出当前方法