目录
循环语句就是在满足一定的条件下重复的执行某个操作,学过Java的都知道,java提供了三种常用的循环语句,分别是for循环、while循环、do...while循环,那么kotlin是否如此了,Kotlin同样支持这三种循环,下面我们来看看。
For循环:
Kotlin
废除了Java
中的for
(初始值;条件;增减步长)这个规则。下面我们来看看kotlin的for循环吧。
for 循环可以对任何提供迭代器(iterator)的对象进行遍历,语法如下:
for (item in collection) print(item)
基于until的递增for循环:关键字:until,
范围:[n,m)
实例:
for (item in 1 until 10){
print("$item ")
}
结果:1 2 3 4 5 6 7 8 9
“..” 表示递增的循环:符号( '..'
),范围:[n,m]
实例:
for (item in 1 .. 10){
print("$item ")
}
结果:1 2 3 4 5 6 7 8 9 10
当然也可以使用step()
函数更改步长:
实例:
for (item in 1 .. 10 step 2){
print("$item ")
}
结果:1 3 5 7 9
基于downTo的递减for循环:关键字: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
遍历数组:
val str = arrayOf("kotlin","is","best","language")
for (item in str) {
print("$item ")
}
结果:kotlin is best language
使用数组的indices
属性遍历:
val str = arrayOf("kotlin","is","best","language")
for (i in str.indices) {
print("${str[i]} ")
}
结果:kotlin is best language
使用数组的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循环:
while和do...while是最基本的循环,与Java基本一致。
while( 布尔表达式 ) {
//循环内容
}
do {
//代码语句
}while(布尔表达式);
while循环开始时,先判断布尔表达式的值,如果满足条件,进入循环体,再判断…,直到不满足条件,将跳出循环。
do..while循环开始时,先进入循环提一次,再判断布尔表达式的值,如果满足条件,进入循环,再判断…,直到不满足条件,将跳出循环。
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:默认从直接包围它的函数或者匿名函数返回
- break:终止最直接包围它的循环
- continue:继续下一次直接包围它的循环
kotlin中也有类似C语言中的goto语句的用法,也就是 return@lable 、break@lable 、continue@lable,此处不做介绍,有兴趣的可以研究下。