- 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 - 中断并继续
- 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 returned() 函数
函数reverse()可用于反转范围的值。
例子
fun main(args: Array<String>) { for ( num in (1..5).reversed() ) { println(num) } }
当你运行上面的 Kotlin 程序时,它将生成以下输出:
5 4 3 2 1
Kotlin 直到 () 函数
函数until()可用于创建一个范围,但它会跳过给定的最后一个元素。
例子
fun main(args: Array<String>) { for ( num in 1 until 5 ) { println(num) } }
当你运行上面的 Kotlin 程序时,它将生成以下输出:
1 2 3 4
最后一步、第一步元素
我们可以使用范围的第一个、最后一个和步骤属性来查找范围的第一个、最后一个值或步骤。
例子
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]
某个范围内的不同值
unique ()函数将从具有重复值的范围中返回不同值的列表:
例子
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
测验时间(面试和考试准备)
问题 1 - 以下关于 Kotlin Ranges 的说法哪一项是正确的?
A - Kotlin 范围是由开始、结束和步骤定义的值序列。
答案:D
解释
关于 Kotlin Range 的所有给出的陈述都是正确的
问题 2 - 以下程序的输出是什么:
fun main(args: Array<String>) { val a = 1..20 println(a.average()) }
答案:A
解释
函数average()用于获取范围值的平均值。
问题 2 - 以下程序的输出是什么:
fun main(args: Array<String>) { val a = 1..20 if( 3 in a){ print( true ) }else{ print( false ) } }
答案:A
解释
它将返回 true,因为 3 在范围内可用,因此in运算符将返回 true。