Kotlin系列之循环

今天说说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<String>){
    for (i in 1..100){
        print(i)
    }
}

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

fun main(args: Array<String>){
    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循环的所有功能。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值