Kotlin学习笔记——for语句中使用区间表达式

本文深入探讨了Kotlin中的区间表达式,包括rangeTo、downTo和until三种类型的使用方法,以及如何设置遍历间隔。通过实例展示了区间在数组遍历中的应用,对比了与Java中for语句的不同。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言

在Java中,使用for语句通过索引遍历数组时,可在for语句中定义临时循环变量,并控制变量的范围和递增,如下示例:

String [] array = new String [] {"One", "Two", "Three", "Four", "Five"};
// 使用索引的方式遍历数组
for (int i = 0; i < array.length; i ++) {
    System.out.println(array[i]);
}

但是在Kotlin中,你会发现,是无法再for语句中定义临时循环变量。但是在Kotlin中有区间表达式可以完美实现这些功能。

val array = listOf("One", "Two", "Three", "Four", "Five")
for (i in 0 .. array.size - 1) {
    println(array[i])
}

以上就是区间的一种(rangeTo),区间表达式通常可以使用in或者!in操作符表示“在”或者“不在”某个区间内。

区间的几种类型

rangeTo区间

rangeTo()区间可以使用两个连续的点..表示,表示在这个区间范围之内,如上面的示例所示,rangeTo()表示的区间是左右闭包的,也就是包含区间声明的所有取值。上面的示例中,数组的索引是0~size-1,区间结尾必须是size-1.

downTo区间

downTorangeTo是一对相互倒置的区间,是从最后往前遍历,同样也是左右闭包的区间

val array = listOf("One", "Two", "Three", "Four", "Five")
for (i in array.size - 1 downTo 0) {
    println(array[i])
}

until区间

until区间表示从区间的开头开始,遇到结尾结束。这是一个左闭右开的区间,until的含义是直到xxx停止,但是不会包含结束条件的值。于是,前面遍历数组的可以写成以下代码:

val array = listOf("One", "Two", "Three", "Four", "Five")
for (i in 0 until array.size) {
    println(array[i])
}

区间遍历的间隔

使用区间进行遍历可以设置编辑间隔,通过step来定义。

val array = listOf("One", "Two", "Three", "Four", "Five")
for (i in 0 until array.size step 2) {
    println(array[i])
}

上面的示例中表示输出数组每隔2的元素,这个等同于java中的

String [] array = new String [] {"One", "Two", "Three", "Four", "Five"};
// 使用索引的方式遍历数组
for (int i = 0; i < array.length; i+2) {
    System.out.println(array[i]);
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值