zoukankan      html  css  js  c++  java
  • 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还是有一定的要求的。

  • 相关阅读:
    jQuery对象和DOM对象
    虚拟主机的部署(Apache)
    事件流:事件冒泡和事件捕获
    ThinkPHP
    级联下拉列表
    今日份抽自己!!!
    c++中关于输入字符数组的一些问题
    今日新知(关于递归中变量的声明)
    格子游戏(并查集)
    1.3-14大象喝水
  • 原文地址:https://www.cnblogs.com/T-ARF/p/7612008.html
Copyright © 2011-2022 走看看