博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Kotlin系列之循环
阅读量:6199 次
发布时间:2019-06-21

本文共 1759 字,大约阅读时间需要 5 分钟。

今天说说Kotlin中的循环迭代的内容。

我们这里还是对比Java来学习Kotlin中的循环迭代的写法。

Java中的循环

Java中的循环主要包括while()、do{}while()、for和foreach这几种方式,放上代码简单复习一下,便于与后面的Kotlin代码对比。

Java代码

public class JavaLoop {    public static void main(String[] args) {        int[] data = {1, 2, 3, 4, 5, 6};        //while循环        int index = 0;        int len = data.length;        while (index < len){            System.out.println(data[index++]);        }        //do...while循环        int sum = 0;        do{            System.out.println(sum);            sum += 1;        }while (sum < 100);        //for循环        for (int i = 0; i < len; i++){            System.out.println(data[i]);        }        //foreach循环        for(int da : data){            System.out.println(da);        }    }}复制代码

上面的只是通过简单的代码复习了下Java中循环的写法,下面关键看看Kotlin中的循环。

Kotlin中的循环

Kotlin中的while循环和do...while循环与Java中的写法是一样的,这里不再重复,我们只要说说Kotlin的新特性。 在Kotlin中没有一般意义的for循环结构,就想下面这种。

//for循环for (int i = 0; i < len; i++){    System.out.println(data[i]);}复制代码

这种结构在Kotlin中是没有的,Kotlin中引入了一个新的概念区间。其实这个概念我们在数学中是学过的。 在Kotlin中使用m..n这种形式来表示一个m到n的闭区间,然后又使用in来表示每次从区间里面取一个值,放上代码。

Kotlin代码

fun main(args: Array
){ for (i in 1..100){ print(i) }}复制代码

上面的代码打印出1-100之间的数字,包括1和100。 当然你可能还想每次不是递增1,那就设置step步长好了,如下打印出1-100之间的所有奇数。

fun main(args: Array
){ for (i in 1..100 step 2){ print(i) }}复制代码

你可能还想倒着输出1-100之间的所有数,那也可以。

for (i in 100 downTo 1 step 1){    print(i);}复制代码

100 downTo 1表示从100减小到1,step仍然表示步长。 当然for循环不止可以迭代数字,我们知道在Java中可以使用循环输出连续的字符,这其实是利用了ASCII码来做到的,就像下这样。

Java代码

for (char i = 'A'; i <= 'Z'; i++){    System.out.print(i);}复制代码

在Kotlin中我们不但可以写一个数字区间,也可以写一个字符区间,实现与上面的Java代码一样的功能,就像下面一样。

for(c in 'A'..'Z'){    print(c)}复制代码

写在最后

是不是发现Kotlin中的循环更加简洁,而且语意更加清晰,而且Kotlin的for循环可以实现一般的for循环的所有功能。

转载地址:http://efnca.baihongyu.com/

你可能感兴趣的文章
NYOJ-517 最小公倍数 TLE 分类: NYOJ ...
查看>>
创建安全的ashx文件,ashx编译
查看>>
利用微信小程序实现web监控界面
查看>>
字符串相关操作
查看>>
QTP描述编程中Environment的使用
查看>>
C# 元组、匿名对象、ref&out
查看>>
NGUI_Sprites
查看>>
几何画板用迭代法作图的技巧
查看>>
视频格式编码详解
查看>>
Newtonsoft.Json高级用法
查看>>
网页布局
查看>>
数据库连接池
查看>>
Palindrome Number
查看>>
为何需要总结
查看>>
9.8对编译原理的初步认识
查看>>
前端资源收藏
查看>>
label标签的显示和隐式关联问题
查看>>
漫画 | Redis常见面试问题(一)
查看>>
实验二
查看>>
Beta冲刺-第四天
查看>>