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的简单模拟形式转换此整数类型。
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范围迭代时... 运算符这将不打印任何内容。
链接:https://www.learnfk.comhttps://www.learnfk.com/kotlin/kotlin-integer-range.html
来源:LearnFk无涯教程网
要按递减顺序迭代元素,请使用标准库downTo()函数或downTo关键字。
for (a in 5 downTo 1){ print(a )// 54321 }
范围内的until()函数或until关键字用于排除最后一个元素。迭代范围是从开始到小于结束的1。
for (a in 1 until 5){ print(a )//print 1234 }
上述范围不包括5并从1到4次迭代。
无涯教程来看一个使用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
使用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
还使用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
祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)