Kotlin 区间和循环 Loop和Range
在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的更多相关文章
- kotlin的loop和Range、list和map
继续学习Kolin的基础语法,比较简单,直接练习代码.loop和range: 这里用一个场景来说明:计算从1到100之间数的总和,那在kotlin中是如何搞的呢? 上面这么简单的一句代码确实是能表达么 ...
- 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 ...
- Kotlin 区间的一些小注意
1:步进 step 在kotlin 中区间通过循环可以实现每隔几个输出. 比如1..100,我每隔3个输出: fun main(args:Array<Stting>) { .. step) ...
- Atitit 循环(loop), 递归(recursion), 遍历(traversal), 迭代(iterate).
Atitit 循环(loop), 递归(recursion), 遍历(traversal), 迭代(iterate). 1.1. 循环算是最基础的概念, 凡是重复执行一段代码, 都可以称之为循环. ...
- 循环(loop), 递归(recursion), 遍历(traversal), 迭代(iterate)的区别
表示“重复”这个含义的词有很多, 比如循环(loop), 递归(recursion), 遍历(traversal), 迭代(iterate). 循环算是最基础的概念, 凡是重复执行一段代码, 都可以称 ...
- Kotlin入门(7)循环语句的操作
上一篇文章介绍了简单分支与多路分支的实现,控制语句除了这两种条件分支之外,还有对循环处理的控制,那么本文接下来继续阐述Kotlin如何对循环语句进行操作. Koltin处理循环语句依旧采纳了for和w ...
- 003_循环(loop), 递归(recursion), 遍历(traversal), 迭代(iterate)的区别
表示“重复”这个含义的词有很多, 比如循环(loop), 递归(recursion), 遍历(traversal), 迭代(iterate). 循环算是最基础的概念, 凡是重复执行一段代码, 都可以称 ...
- 第十三章、学习 Shell Scripts 循环 (loop)
while do done, until do done (不定循环) while [ condition ] <==中括号内的状态就是判断式 do <==do 是回圈的开始! 程序段落 ...
- 循环/loop 结构/structure
1.Shell loop 2.C++/CPlusPlus ①.std::for_each ②.for loop ③.Iterator library 3.Python Loop ①.Python.or ...
随机推荐
- JAVA的ByteArrayOutputStream
为什么要使用ByteArrayOutputStream? 我的看法是,有时InputStream里面的内容很大,不能一次读完,需要一个中转站来储存里面的数据,而不是需要一次数据就又打开InputStr ...
- MySQL备份还原之二使用mysqldump
1 场景描述: create table gyj_t1(id int,name varchar(10)); insert into gyj_t1 values(1,'AAAAA'); commit; ...
- com线程模型01
Coinitialize: IUnknown: apartment; 套间线程:自由线程: “假定我们需要在后台增大对某个组件的一个计数器,并偶尔需要对显示进行刷新.用一个套间线程而不是工作线程来完成 ...
- linux下FTP使用
如何在linux下开启FTP服务 1. 首先服务器要安装ftp软件,查看是否已经安装ftp软件下: #which vsftpd 如果看到有vsftpd的目录说明服务器已经安装了ftp软件 ...
- 我的笔记,有关 PhotoShop,给自己的记忆宫殿
一直有心学习 PhotoShop ,各种教程也 download 了不少,什么祁连山.PS大师之路.Oeasy 等等.看了吗?丫蛋的只看了前面两集!还是在博客上写写坐下笔记,好记性不如烂笔头. 0.先 ...
- Ros学习——移动机器人Ros导航详解及源码解析
1 执行过程 1.运行仿真机器人fake_turtlebot.launch:加载机器人模型——启动机器人仿真器——发布机器人状态 2.运行amcl节点fake_amcl.launch:加载地图节点ma ...
- opennebula 对接创建模板参数
{ "id": 8, "name": "c5d1390c-1930-45a5-a686-5cef38b319d7", "displ ...
- 2-chrome无法添加扩展程序
1.更多工具->拓展程序->打开开发者模式->重启浏览器 2.将拓展程序拖入,确认安装
- 23-单词数(HDU2070)
单词数 Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submiss ...
- The 'Microsoft Jet OLEDB 4.0 Provider' is not registered on the local machine
在一台Win7 64位的操纵系统上部署的C# Web系统,操作Excel,批量导入数据,报错,提示错误信息: The ‘Microsoft Jet OLEDB 4.0 Provider' is not ...