Kotlin 区间和循环 Loop和Range

在kotln中有一种很简单的方式来表达某一个区间的数字。

比如我想存储1~100. 我在其他的语言中可以用数组,步骤大概有三个把。

但是在kotlin中就只需要一步。 

代码如下:

fun main(args:Array<String>)
{
    var nubs=1..100
   }

就是如此简单。  

用两个..就可以了。

 那么说到了1到100,那么问题来了 我们该如何使用这个呢?

那就是kotlin 的循环。

如果你熟悉其他语言,比如C java c#  你会知道有两种常用的循环方式 while 和for这两个。

我们先来说while,这个循环方式在kotlin中没有什么变化,很常规的使用方式。在kotlin 的官方说明中甚至说” 传统“用法。 哈哈

代码如下:

fun main(args:Array<String>)
{ 
   var n=0
  while(n<10)
{   

 println("这是第${n}边输出)
n++
}

所谓while就是先检查条件,当while旁边的括号内成立的时候就执行花括号内的程序。 之后再回到条件的检测中。直到条件不符合条件的时候。

我们上面说过kotlin的区间的使用大部分要是通过循环来使用。那么问题来如何来用呢?

代码如下:

fun main(args:Array<String>)
{
  var nubs=1..100
    var n=1while(n in nubs)
    {
        println("第${n}遍")
        n++
    }
}

解释:

  我们想表达这个去区间,我们可以同过一个数字,让这个数字从1一直变到100,来测试这个区间内是否有这个数字。

while (n in nubs) 这其中有一个关键字 in 如果字面意义,“在”, 当n存在与nub时,while 的条件就成立。程序就继续循环。

这里小小的解释:

循环有三个术语,循环条件 循环操作,循环变量。

结合上面的代码我写一个注释:

fun main(args:Array<String>)
{
  var nubs=1..100
    var n=1
    while(n in nubs) //循环条件
    {
        println("第${n}遍") //循环操作
        n++  //循环变量
    }
}

变量是为了循环退出,条件是为了是否循环,操作是为了循环的目的。

 

上面说了while,下面就来说另一个循环: for

for循环相对其他语言来说比不是很普通,但是在面向对象的语言中很常见,kotlin 的for循环有点像C#的foreach。

上面的while代码,我给改成先对应的for循环;

fun main(args:Array<String>)
{
  var nubs=1..100
    var n=1
    for(n in nubs)
{
  println("这是输出${n}遍)
}
}

看起来和while没有啥区别..其实感觉上也没有多少区别..

但是!!但是!!

我想对这个区间,nubs输出的时候做一些手脚,比如步进输出,每隔2个数字输出?

我们就需要在for了

而且,我们输出的for 的也可以不用在var一个变量了。

fun main (args: Array<String>)
{
    var nubs=1..100
   // var n=1;
   for(n in nubs step 2 )
   {
       println("$n")
   }

 

 我们将var n给注释掉,也是没有问题的。

 

for和while 的用法上相比,for相对灵活,而while还是有一定的要求的。

 

posted @ 2017-09-29 17:36  ARM830  阅读(1109)  评论(0编辑  收藏  举报