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中的。这个可以自己测试一下。最好自己用代码跑一遍,可以加深印象!!!