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

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

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

代码如下:

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

就是如此简单。

用两个..就可以了。

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

那就是kotlin 的循环。

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

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

代码如下:

fun main(args:Array<String>)
{
var n=
while(n<)
{ println("这是第${n}边输出)
n++

}

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

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

代码如下:

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

解释:

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

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

这里小小的解释:

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

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

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

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

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

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

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

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

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

但是!!但是!!

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

我们就需要在for了

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

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

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

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

Kotlin 区间和循环 Loop和Range的更多相关文章

  1. kotlin的loop和Range、list和map

    继续学习Kolin的基础语法,比较简单,直接练习代码.loop和range: 这里用一个场景来说明:计算从1到100之间数的总和,那在kotlin中是如何搞的呢? 上面这么简单的一句代码确实是能表达么 ...

  2. python循环for,range,xrange;while

    >>>range(1,5)#代表从1到5(不包含5) [1,2,3,4] >>>range(1,5,2)#代表从1到5,间隔2(不包含5) [1,3] >&g ...

  3. Kotlin 区间的一些小注意

    1:步进 step 在kotlin 中区间通过循环可以实现每隔几个输出. 比如1..100,我每隔3个输出: fun main(args:Array<Stting>) { .. step) ...

  4. Atitit  循环(loop), 递归(recursion), 遍历(traversal), 迭代(iterate).

    Atitit  循环(loop), 递归(recursion), 遍历(traversal), 迭代(iterate). 1.1. 循环算是最基础的概念, 凡是重复执行一段代码, 都可以称之为循环. ...

  5. 循环(loop), 递归(recursion), 遍历(traversal), 迭代(iterate)的区别

    表示“重复”这个含义的词有很多, 比如循环(loop), 递归(recursion), 遍历(traversal), 迭代(iterate). 循环算是最基础的概念, 凡是重复执行一段代码, 都可以称 ...

  6. Kotlin入门(7)循环语句的操作

    上一篇文章介绍了简单分支与多路分支的实现,控制语句除了这两种条件分支之外,还有对循环处理的控制,那么本文接下来继续阐述Kotlin如何对循环语句进行操作. Koltin处理循环语句依旧采纳了for和w ...

  7. 003_循环(loop), 递归(recursion), 遍历(traversal), 迭代(iterate)的区别

    表示“重复”这个含义的词有很多, 比如循环(loop), 递归(recursion), 遍历(traversal), 迭代(iterate). 循环算是最基础的概念, 凡是重复执行一段代码, 都可以称 ...

  8. 第十三章、学习 Shell Scripts 循环 (loop)

    while do done, until do done (不定循环) while [ condition ] <==中括号内的状态就是判断式 do <==do 是回圈的开始! 程序段落 ...

  9. 循环/loop 结构/structure

    1.Shell loop 2.C++/CPlusPlus ①.std::for_each ②.for loop ③.Iterator library 3.Python Loop ①.Python.or ...

随机推荐

  1. git学习3 - 克隆远程库到本地 将本地库上传到git

    如何克隆远程版本库到本地 git clone URL 如何用命令将本地项目上传到git 1.(先进入项目文件夹)通过命令 git init 把这个目录变成git可以管理的仓库 (注意: cd C:/U ...

  2. MFC学习(四) 消息机制

    1 消息机制的要点: 消息队列:先进先出 消息循环:通过循环while,不断的从消息队列中取得队首消息,并分发消息. 消息处理:根据不同的消息类型做不同的处理 事件:事件响应函数 2 消息机制 _tW ...

  3. 机器视觉学习笔记(5)——基于OpenCV的单目摄像机标定

    本文CameraCalibrator类源代码来自于OpenCV2 计算机视觉编程手册(Robert Laganiere 著 张静 译) 强烈建议阅读机器视觉学习笔记(4)--单目摄像机标定参数说明之后 ...

  4. C#多线程List的非线程安全性

    背景:最近在做多线程方面的工作,工作中发现多线程中很多坑,这里就有一个List添加对象的误区,这里做个分享跟大家讲讲这个坑是怎么形成的怎么样避免. 示例: 代码及错误: 如果单单只从程序逻辑上看,应该 ...

  5. ffmpeg设置avformat_open_input( )超时 -stimeout

    ffmpeg用avformat_open_input()解析网络流时,默认是阻塞的. 当遇到解析错误的网络流时,会导致该函数长时间不返回. 为此可以设置ffmpeg的-stimeout 的参数,要注意 ...

  6. MySQL中TRUNCATE和ROUND函数的用法

    一.TRUNCATE(expr, int_expr)用法 TRUNCATE函数将expr按照int_expr长度在小数点后按照位数直接进行截取. 实例: ); 输出结果:200.1256 二.ROUN ...

  7. 【光速使用开源框架系列】图片加载框架ImageLoader

    [关于本系列] 最近看了不少开源框架,网上的资料也非常多,但是我认为了解一个框架最好的方法就是实际使用.本系列博文就是带领大家快速的上手一些常用的开源框架,体会到其作用. 由于作者水平有限,本系列只会 ...

  8. js确定来源页然后跳转

    <script type="text/javascript"> function Navigate() { if(document.referrer == 'http: ...

  9. linux内核被加载的过程

    二,linux内核被加载的过程 一,linux安装时遇到的概念解析 内核必须模块vmlinz(5M左右)不认识硬盘,原本是需要写跟loader中一样的内容,来加载非必要模块. 内核非必要的功能被编译为 ...

  10. 无返回值的函数如何捕获出错情况(检查errno常量)

    在执行这个函数前,先清除errno,函数返回时,检查errno常量. 每次程序调用失败的时候,系统会自动用用错误代码填充errno这个全局变量,这样你只需要读errno这个全局变量就可以获得失败原因了 ...