在kotlin中也有for循环可是和咱们在Java中的是用是不同的 在Java咱们最多见的使用:函数
Java代码
for(int i=0 ; i < list.size() ; i++){
//...
}
复制代码
可是在kotlin中 这样使用时错误的 由于在kotlin中不能这样使用。 在kotlin中能够是用区间表达式来完成以上的功能 以下:spa
kotlin代码
for(i in 0..list.size){
//..
}
for(i in 0..10){
//..
}
for (i in 0 until 10){
//..
}
在这里 until 是和".."是等价的
复制代码
这样就能够完成以上功能了 这是从0到list.size迭代。 在kotlin中不仅能够从低到高的迭代也能够从高到低迭代 以下:code
kotlin代码
for(i in 10 downTo 0){
//...
}
复制代码
这段代码是从10 到0 的迭代 在kotlin中不仅能够这样 还能够设置每次迭代的间隔 以下:对象
kotlin代码
for(i in 0..20 step 2){
print(i)
}
打印结果为:02468101214161820
复制代码
能够看出 每次迭代都加了2源码
在kotlin中还专门为咱们提供了一个循环方法“repeat()” 使用方法以下:it
repeat(10){
print(it)
}
打印结果:0123456789
复制代码
这个方法提供了一个循环 经过查看源码发现这个方法你面实现是 一个for循环 源码以下:io
public inline fun repeat(times: Int, action: (Int) -> Unit) {
contract { callsInPlace(action) }
for (index in 0 until times) {
action(index)
}
}
复制代码
能够看到这就是封装了一个for循环。for循环
在kotlin中 for循环能够对任何提供了迭代器(iterator)的对象进行遍历,这至关于C#这样的语言中的foreach循环。语法以下:class
for(item in collection) print(item)
或
for(item:Int in Ints){
//...
}
复制代码
如上所述,for能够循环遍历任何提供了迭代器的对象。即:扩展
这三个函数都须要标记 operator
在kotlin中 while循环和在Java中是同样的 以下:
while(x>0){
x--
}
do{
y++
}while(y>10)
复制代码