本文概述
Kotlin范围定义为从开始值到结束值的间隔。范围表达式是使用运算符(..)创建的, 该运算符由in和!in补充。等于或大于起始值且小于或等于终止值的值在定义的范围内。
val aToZ = 'a'..'z'
val oneToNine = 1..9
在评估上述代码时, val aToZ =’a’..’z’, 因为aToZ中的’a’返回true, aToZ中的’b’返回true, 依此类推。代码val oneToNine = 1..9在oneToNine中的值为1时返回true, 但在oneToNine中的值为10时返回false。
整数类型范围
整数类型范围(IntRange, LongRange, CharRange)是在for循环中使用的功能。编译器以Java索引for-loop的简单模拟形式转换此整数类型。
Kotlin系列的例子
fun main(args: Array<String>) {
for (a in 1..5){
print(a )
}
println()
for(x in 'a'..'f'){
print(x )
}
println()
val range = 1.0..5.0
println(range)
println("3.14 in range is ${3.14 in range}")
}
输出:
12345
abcdef
1.0..5.0
3.14 in range is true
当我们尝试使用递减r范围迭代时发生了什么。 。操作员?这将不打印任何内容。
for (a in 5..1){
print(a )// print nothing
}
要按降序迭代元素, 请使用标准库downTo()函数或downTo关键字。
for (a in 5 downTo 1){
print(a )// 54321
}
直到范围
范围内的直到()函数或直到关键字用于排除最后一个元素。迭代范围从开始到小于结束的1。
for (a in 1 until 5){
print(a ) // print 1234
}
以上范围不包括5, 并且从1到4进行迭代。
Kotlin整数范围
让我们看一个使用downTo(), downTo和rangeTo()方法的整数范围示例。
fun main(args: Array<String>) {
for (x in 1..5)
print(x)
println()
for (x in 5 downTo 1)
print(x)
println()
for (x in 1.rangeTo(5))
print(x)
println()
for (x in 5.downTo(1))
print(x)
println()
}
输出:
12345
54321
12345
54321
Kotlin字符范围
使用char数据类型的Kotlin范围示例。
fun main(args: Array<String>) {
for (x in 'a'..'e')
print("$x ")
println()
for (x in 'e' downTo 'a')
print("$x ")
}
输出:
a bcde
edcba
科特林范围步
range中的Kotlin step关键字用于在给定step值(int值)的间隔内迭代范围。
fun main(args: Array<String>) {
for (x in 1..10 step 2)
print("$x ")
println()
for (x in 10 downTo 1 step 3)
print("$x ")
}
输出:
1 3 5 7 9
10 7 4 1
Kotlin范围迭代器
还可以使用iterator()方法来迭代范围值。它使用hasNext()方法检查范围内的下一个元素, next()方法返回范围内的下一个元素。
fun main(args: Array<String>) {
val chars = ('a'..'e')
val it = chars.iterator()
while (it.hasNext()) {
val x = it.next()
print("$x ")
}
}
输出:
a b c d e
评论前必须登录!
注册