- Kotlin 教程
- Kotlin - 首页
- Kotlin - 概述
- Kotlin - 环境设置
- Kotlin - 架构
- Kotlin - 基本语法
- Kotlin - 注释
- Kotlin - 关键字
- Kotlin - 变量
- Kotlin - 数据类型
- Kotlin - 运算符
- Kotlin - 布尔值
- Kotlin - 字符串
- Kotlin - 数组
- Kotlin - 范围
- Kotlin - 函数
- Kotlin 控制流
- Kotlin - 控制流
- Kotlin - if...else 表达式
- Kotlin - when 表达式
- Kotlin - for 循环
- Kotlin - while 循环
- Kotlin - break 和 continue
- Kotlin 集合
- Kotlin - 集合
- Kotlin - 列表
- Kotlin - 集合
- Kotlin - 映射
- Kotlin 对象和类
- Kotlin - 类和对象
- Kotlin - 构造函数
- Kotlin - 继承
- Kotlin - 抽象类
- Kotlin - 接口
- Kotlin - 可见性控制
- Kotlin - 扩展
- Kotlin - 数据类
- Kotlin - 密封类
- Kotlin - 泛型
- Kotlin - 委托
- Kotlin - 解构声明
- Kotlin - 异常处理
- Kotlin 有用资源
- Kotlin - 快速指南
- Kotlin - 有用资源
- Kotlin - 讨论
Kotlin - 范围
Kotlin 的范围由其两个端点值定义,这两个值都包含在范围内。Kotlin 范围是使用rangeTo()函数创建的,或者简单地使用downTo或(. .)运算符。范围的主要操作是contains,通常以in和!in运算符的形式使用。
示例
1..10 // Range of integers starting from 1 to 10 a..z // Range of characters starting from a to z A..Z // Range of capital characters starting from A to Z
范围的两端始终包含在范围内,这意味着表达式 1..4 对应于值 1、2、3 和 4。
使用 rangeTo() 创建范围
要创建 Kotlin 范围,我们对范围起始值调用rangeTo()函数,并将结束值作为参数提供。
示例
fun main(args: Array<String>) {
for ( num in 1.rangeTo(4) ) {
println(num)
}
}
运行上述 Kotlin 程序后,将生成以下输出
1 2 3 4
使用 .. 运算符创建范围
rangeTo()通常在其运算符形式..中调用。因此,可以使用..运算符改写上述代码,如下所示
示例
fun main(args: Array<String>) {
for ( num in 1..4 ) {
println(num)
}
}
运行上述 Kotlin 程序后,将生成以下输出
1 2 3 4
使用 downTo() 运算符创建范围
如果要定义反向范围,可以使用downTo运算符
示例
fun main(args: Array<String>) {
for ( num in 4 downTo 1 ) {
println(num)
}
}
运行上述 Kotlin 程序后,将生成以下输出
4 3 2 1
Kotlin step() 函数
我们可以使用step()函数来定义范围值的距离。让我们来看下面的例子
示例
fun main(args: Array<String>) {
for ( num in 1..10 step 2 ) {
println(num)
}
}
运行上述 Kotlin 程序后,将生成以下输出
1 3 5 7 9
Kotlin 字符范围
可以为字符创建范围,就像我们为整数值创建范围一样。
示例
fun main(args: Array<String>) {
for ( ch in 'a'..'d' ) {
println(ch)
}
}
运行上述 Kotlin 程序后,将生成以下输出
a b c d
Kotlin reversed() 函数
reversed()函数可用于反转范围的值。
示例
fun main(args: Array<String>) {
for ( num in (1..5).reversed() ) {
println(num)
}
}
运行上述 Kotlin 程序后,将生成以下输出
5 4 3 2 1
Kotlin until() 函数
until()函数可用于创建范围,但它将跳过给定的最后一个元素。
示例
fun main(args: Array<String>) {
for ( num in 1 until 5 ) {
println(num)
}
}
运行上述 Kotlin 程序后,将生成以下输出
1 2 3 4
最后一个、第一个、步长元素
我们可以使用范围的first、last和step属性来查找范围的第一个值、最后一个值或步长。
示例
fun main(args: Array<String>) {
println((5..10).first)
println((5..10 step 2).step)
println((5..10).reversed().last)
}
运行上述 Kotlin 程序后,将生成以下输出
5 2 5
过滤范围
filter()函数将返回与给定谓词匹配的元素列表
示例
fun main(args: Array<String>) {
val a = 1..10
val f = a.filter { T -> T % 2 == 0 }
println(f)
}
运行上述 Kotlin 程序后,将生成以下输出
[2, 4, 6, 8, 10]
范围中的不同值
distinct()函数将返回具有重复值的范围中的不同值列表
示例
fun main(args: Array<String>) {
val a = listOf(1, 1, 2, 4, 4, 6, 10)
println(a.distinct())
}
运行上述 Kotlin 程序后,将生成以下输出
[1, 2, 4, 6, 10]
范围实用函数
我们可以对范围应用许多其他有用的函数,例如min、max、sum、average、count
示例
fun main(args: Array<String>) {
val a = 1..10
println(a.min())
println(a.max())
println(a.sum())
println(a.average())
println(a.count())
}
运行上述 Kotlin 程序后,将生成以下输出
1 10 55 5.5 10
测验时间 (面试与考试准备)
Q 1 - 关于 Kotlin 范围,以下哪一项是正确的?
A - Kotlin 范围是由起始值、结束值和步长定义的值序列。
答案:D
解释
所有给定的陈述都是关于 Kotlin 范围的真实陈述
Q 2 - 以下程序的输出是什么?
fun main(args: Array<String>) {
val a = 1..20
println(a.average())
}
答案:A
解释
average() 函数用于获取范围值的平均值。
Q 2 - 以下程序的输出是什么?
fun main(args: Array<String>) {
val a = 1..20
if( 3 in a){
print( true )
}else{
print( false )
}
}
答案:A
解释
它将返回 true,因为 3 在范围内,所以in运算符将返回 true。