- 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。