如何在kotlin编程语言中创建如下所述的循环?

时间:2017-07-21 09:32:05

标签: android android-studio kotlin rx-kotlin kotlin-interop

如何使用for循环在kotlin中创建它?

for (double i = 0; i < 10.0; i += 0.25) {
    System.out.println("value is:" + i);
}

4 个答案:

答案 0 :(得分:3)

您应该使用Intellij插件转换Kotlin的Java代码。它非常整洁(除非你有使用lambdas的复杂代码)这是它为你提出的问题转换为:

  var i = 0.0
  while (i < 10.0) {
      println("value is:" + i)
      i += 0.25
  }

答案 1 :(得分:2)

这是与for循环相当的kotlin代码。

var i = 0.0
while (i < 10.0)
{
  println("value is:" + i)
  i += 1.0
}

答案 2 :(得分:1)

仅Kotlin for循环支持迭代数组。请参考https://kotlinlang.org/docs/reference/control-flow.html

它可以以不同的方式实现

var length:Double = 10.0 
var increment:Double = 0.25
for (index in Array((length/increment).toInt(), { i -> (i * increment) })) 
println(index)

答案 3 :(得分:0)

我不确定该语法是否是新语法,但是可以使用自然数来迭代这样的值。

(0..(10*4)).map {
    it / 4.0 as Double
}.forEach {
    println(it)
}

我避免在IEEE 754浮点数上进行迭代,因为这可能会导致错误。在这种情况下可能会很好,但是根据环境,上下文和语言的不同,情况可能并非如此。最好避免使用浮点数,除非期望数字具有任意精度,即使用实数或连续性。

如果不需要存储结果,也可以在for循环中使用此语法。但是,如果要保持不变性,则应在大多数情况下避免for循环。

for (i in 0..10) {
  println("Project Loom is a lie! $i")
}