【问题标题】:For Loop in kotlin [closed]kotlin中的for循环[关闭]
【发布时间】:2018-02-07 12:26:20
【问题描述】:

我是 Kotlin 的新手,请帮助我实现这一目标。

int number[] = {5,4,1,3,15}

for(int i = number.length; i > 0; i--)
{
   Log.e("number", number[i])
}

【问题讨论】:

  • for (i in number.length downTo 1) { Log.e("number", number[i]) }

标签: android for-loop kotlin


【解决方案1】:

试试这个

Kotlinfor 循环的语法是:

for (item in collection) {
    // body of loop
}

身体

for (item: Int in ints) {
    // body of loop
}

示例代码

for (i in 0..5) {
        println(i) // 0,1,2,3,4,5   --> upto 5
}

 for (i in 0 until 5) {
        println(i) // 0,1,2,3,4    --> upto 4
 }

数组中的for循环

var arr = arrayOf("neel", "nilu", "nilesh", "nil")

    for (item in arr)
    {
        println(item)
    }

使用索引遍历数组。

 var arr = arrayOf("neel", "nilu", "nilesh", "nil")
for (item in arr.indices) {

        // printing array elements having even index only
        if (item%2 == 0)
            println(language[item])
    }

更多信息请查看 for loop in Kotlin

这也是for loop in Kotlin

【讨论】:

  • 我需要这个for(int i=0;i<2;i++)。如何转换为 kotlin ?
  • @JohnJoe 喜欢这个for (i in 0..1) { Log.e("DATA", "DATA") }
  • 我试过这个for(i in request?.locations.size) { Toast.makeText(getActivity(),"ssss",Toast.LENGTH_LONG).show() },但得到For-loop range must have an 'iterator()' methodrequest?.locations.size 给我价值 2。
  • @JohnJoe request?.locations.size 是什么
  • 它将返回值 2。您可以假设它是值 2。
【解决方案2】:

阅读Control Flow Structure in Kotlin

for(集合中的项目)打印(项目)

for 循环遍历任何提供迭代器的东西。这相当于 foreach 循环。

主体可以是块。

for (item: Int in ints) {
    // ...
}

试试

val number = arrayOf(5, 4, 1, 3, 15)

    for (i in 0 until number.size)
    {
        Log.e("NUMBER", number[i].toString())
    }

【讨论】:

    【解决方案3】:

    For 循环

    for loop 遍历任何提供迭代器的东西。这相当于 C# 等语言中的 foreach 循环。语法如下:

    for (item in collection) print(item)
    

    主体可以是块。

    for (item: Int in ints) {
        // ...
    }
    

    如前所述,for 遍历任何提供迭代器的东西,即

    有一个成员函数或扩展函数 iterator(),它的返回类型 具有成员函数或扩展函数 next(),并且 有一个返回布尔值的成员或扩展函数 hasNext()。 这三个函数都需要标记为运算符。

    数组上的 for 循环被编译为基于索引的循环,不会创建迭代器对象。

    如果你想遍历一个带有索引的数组或列表,你可以这样做:

    for (i in array.indices) {
        print(array[i])
    }
    

    请注意,这种“迭代范围”会被编译为最佳实现,而不会创建额外的对象。

    或者,您可以使用 withIndex 库函数:

    for ((index, value) in array.withIndex()) {
        println("the element at $index is $value")
    }
    

    更多信息see link

    【讨论】:

      【解决方案4】:

      案例 1:

           var number= arrayOf(1, 2, 3 4,5)
      
                  for (item in number)
      
      Log.e("number", item)
      

      案例 2

       var number= arrayOf(1, 2, 3 4,5)
          for (item in number.indices) {
          // printing array elements 
      
      Log.e("number", language[item])
              }
      

      【讨论】:

        猜你喜欢
        • 2018-01-01
        • 2021-08-14
        • 2018-08-12
        • 1970-01-01
        • 1970-01-01
        • 2014-03-22
        • 1970-01-01
        • 2017-02-19
        • 2016-08-26
        相关资源
        最近更新 更多