在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. Debug 的使用

    R 命令:查看.修改寄存器的内容 -r:查看寄存器的内容 CS=0AF9,IP=0100,也就是说内存 0AF9:0100 处的指令为 CPU 当前要读取.执行的指令 Debug 也列出了 CS:IP ...

  2. 基本的Ceph性能测试工具和方法

    测试环境 1. 测试准备 1.1 磁盘读写性能 1.1.1 单个 OSD 磁盘写性能,大概 165MB/s. root@ceph1:~# echo 3 > /proc/sys/vm/drop_c ...

  3. C# IP地址去掉端口号

    string Ip1 = "192.168.0.199:7777"; string Ip2 = Ip1.Remove(Ip1.IndexOf(':'));

  4. mssql server修改数据库文件位置 此种方法暂未测试成功

    --查看当前的存放位置 select database_id,name,physical_name AS CurrentLocation,state_desc,size from sys.master ...

  5. leetcode905

    vector<int> sortArrayByParity(vector<int>& A) { vector<int> EVEN;//偶数 vector&l ...

  6. Win7 IE11 F2无法切换版本

    Win7 IE11 F2无法切换版本 http://www.microsoft.com/zh-cn/download/confirmation.aspx?id=45154 选择操作系统对应的版本 ht ...

  7. 安装sshpass:No package sshpass available

    安装sshpass的时候,报了如下错误: No Package sshpass available 更改软件源之后也无效.直到看到StackOverFlow上的一个问题:https://stackov ...

  8. GIT常用命令以及作用【备忘】

    git commit  提交一个修改 git branch branchName  新建一个branchName的分支 git merge branchName 将当前分支与branchName分支合 ...

  9. PHP json_encode 让URL//不转义

    $json_info=json_encode((object)$data,JSON_UNESCAPED_SLASHES);

  10. ObjectMapper对象的使用 Object2JSON

    // // Source code recreated from a .class file by IntelliJ IDEA // (powered by Fernflower decompiler ...