在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)
複製代碼