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 ...
随机推荐
- IT_Qestion
1. Javascript 回调 Promise 2. Angularjs $parent 3. CSS margin padding border 4. Angularjs $filter 5. D ...
- Python re模块与正则表达式的运用
re模块 永远不要起一个py文件的名字,这个名字和你已知的模块同名 查找 findall(): 匹配所有 每一项都是列表中的一个元素 语法 : findall(正则判断条件,要判断字符 ...
- [原创]Mybatis特殊值Enum类型转换器-ValuedEnumTypeHandler
引言 typeHandlers 阅读官方文档 typeHandlers 一节{:target="_blank"} MyBatis 在预处理语句(PreparedStatement) ...
- com线程模型01
Coinitialize: IUnknown: apartment; 套间线程:自由线程: “假定我们需要在后台增大对某个组件的一个计数器,并偶尔需要对显示进行刷新.用一个套间线程而不是工作线程来完成 ...
- 23-从零玩转JavaWeb-单例设计模式
一.什么是设计模式 二.什么是单例设计模式 三.单例设计模式特点 四.单例设计模式优点 五.单例设计模式实现步骤 六.什么是工具类
- POJ1657
1.题目链接地址 http://poj.org/problem?id=1657 2.源代码 #include<iostream> using namespace std; int main ...
- POJ1308
1.题目链接地址 http://poj.org/problem?id=1308 2.源代码 #include<iostream> using namespace std; #define ...
- iPython notebook 安装使用
pip install jupyter jupyter notebook --allow-root
- 模仿慕课网一步步发布一个开源库到 JCenter
H:\common\-common-25.2.2\upload.gradle // Bintray /* Properties properties = new Properties() proper ...
- mysql 索引 笔记1
#不同的存储引擎支持的索引类型也不一样 InnoDB 支持事务,支持行级别锁定,支持 B-tree.Full-text 等索引,不支持 Hash 索引: MyISAM 不支持事务,支持表级别锁定,支持 ...