共计 1042 个字符,预计需要花费 3 分钟才能阅读完成。
Kotlin 区间
kotlin 中的区间在 Java 中是没有的,区间和数学中的 [] 相似
1. 创立一个区间
应用 ..
val intRange = 1..10
val charRange = 'a'..'z'
val longRange = 1L..10L
2. 创立半开半闭区间
应用 until
// 创立半开半闭区间
// [1,10)
val intRangeExclusive = 1 until 10
val charRangeExclusive = 'a' until 'z'
val longRangeExclusive = 1L until 10L
3. 创立 倒序 区间值(由大到小)
应用 downTo
val intRangeReverse = 10 downTo 1
val charRangeReverse = 'z' downTo 'a' //z y x ....a
val longRangeReverse = 100L downTo 1L
4. 创立区间时 应用步长
应用 step
val intRangeWithStep = 1..10 step 2 // 1,3,5..
val charRangeWithStep = 'a'..'z' step 2
val longRangeWithStep = 0L..100L step 10 //0L ,10L , 20L ..
5. 打印 输入区间
应用 joinToString() , 只能输入 离散型的区间
,非离散型的区间没有此办法
println(longRangeWithStep.joinToString())
非离散型区间 没有 joinToString 办法,因为这个区间无穷大
val doubleRange = 0.1..2.0
val floatRange = 1f..2f
// doubleRange 没有 joinToString 办法 然而他们能够应用 if(in)
6. 迭代遍历区间
和数组一样应用 in 迭代
应用 until 实现 int i= 0 i < xx.size i++ 这种迭代
或者应用 数组的 indices 属性间接实现
// 迭代 只能迭代离散型区间,如 floatRange / doubleRange 不行,然而他们能够应用 if(in)for(i in 0..10){println(i)
}
for(ele in longRangeReverse){println(ele)
}
val arrays = intArrayOf(1,3,5,7)
for(i in 0 until arrays.size){println(arrays[i])
}
for(i in arrays.indices){println(arrays[i])
}
欢送大家拜访 集体博客 Johnny 小屋
欢送关注集体公众号
正文完