<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                # 區間與數列 [TOC] kotlin允許您使用`kotlin.ranges`包中的[rangeto()](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.ranges/range-to.html)函數輕松創建區間,也可以使用".."代替`rangeto()`函數。通常,`rangeto()`函數需要通過`in`或`!in`操作。 ```kotlin if (i in 1..4) { // 等同于 1 <= i && i <= 4 print(i) } ``` 整數類型區間([`IntRange`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.ranges/-int-range/index.html), [`LongRange`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.ranges/-long-range/index.html), [`CharRange`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.ranges/-char-range/index.html))有一個額外的特性:它們可以迭代。這些區間也是相應整數類型的[數列](https://en.wikipedia.org/wiki/Arithmetic_progression)。這些區間通常用`for`循環進行迭代 ```kotlin fun main() { //sampleStart for (i in 1..4) print(i) //sampleEnd } ``` 運行結果 ``` 1234 ``` 若要以相反的順序迭代數據,請使用downto函數而不是`..` ```kotlin fun main() { //sampleStart for (i in 4 downTo 1) print(i) //sampleEnd } ``` 運行結果 ``` 4321 ``` 區間也可以用任意步長(不一定是1)迭代數據。這是通過 [`step`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.ranges/step.html) 函數完成的。 ```kotlin fun main() { //sampleStart for (i in 1..8 step 2) print(i) println() for (i in 8 downTo 1 step 2) print(i) //sampleEnd } ``` 運行結果 ``` 1357 8642 ``` 若要迭代不包含結束元素的數字范圍,請使用 [`until`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.ranges/until.html)函數: ```kotlin fun main() { //sampleStart for (i in 1 until 10) { // i in [1, 10), 10 is excluded print(i) } //sampleEnd } ``` 運行結果 ``` 123456789 ``` ## 區間 區間在數學意義上定義了一個封閉的區間:它由兩個端點值定義,這兩個端點值都被包含在該區間內。區間是為可比較類型定義的:有序,您可以定義任意實例是否在兩個給定實例之間的區間內。區間的主要操作是`contains`,它通常以`in`和`!in`操作。 要為您的類創建一個區間,請對區間起始值調用`rangeto()`函數,并將結束值作為參數提供。`rangeto()`通常以其運算符形式`..`被調用。 ```kotlin class Version(val major: Int, val minor: Int): Comparable<Version> { override fun compareTo(other: Version): Int { if (this.major != other.major) { return this.major - other.major } return this.minor - other.minor } } fun main() { //sampleStart val versionRange = Version(1, 11)..Version(1, 30) println(Version(0, 9) in versionRange) println(Version(1, 20) in versionRange) //sampleEnd } ``` 運行結果 ``` false true ``` ## 數列 如以上示例所示,整數類型的范圍,如`int`、`Long`和`Char`,可以視為它們的[算術數列](https://en.wikipedia.org/wiki/Arithmetic_progression)。在kotlin中,這些級數由特殊類型定義:[`IntProgression`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.ranges/-int-progression/index.html), [`LongProgression`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.ranges/-long-progression/index.html),和 [`CharProgression`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.ranges/-char-progression/index.html)。 數列有三個基本屬性:第一個元素、最后一個元素和非零步長。第一個元素是第一個,后續元素是前一個元素加上一個步長。最后一個元素總是被迭代命中,除非數列為空。用正向區間迭代一個數列相當于Java或JavaScript中的索引for循環。 ```java for (int i = first; i <= last; i += step) { // …… } ``` 當您通過迭代一個區間隱式創建一個數列時,該數列的第一個和最后一個元素是該區間的端點,步長為1。 ```kotlin fun main() { //sampleStart for (i in 1..10) print(i) //sampleEnd } ``` 運行結果 ``` 12345678910 ``` 為了自定義一個數列步長,可以使用`step`函數在區間上 ```kotlin fun main() { //sampleStart for (i in 1..8 step 2) print(i) //sampleEnd } ``` 運行結果 ``` 1357 ``` 計算數列的最后一個元素,以找到不大于正階躍結束值的最大值或不小于負階躍結束值的最小值,比如`(last - first) % step == 0`。要創建以相反順序迭代的數列,請使用downto而不是`..`當定義它的區間時。 ```kotlin fun main() { //sampleStart for (i in 4 downTo 1) print(i) //sampleEnd } ``` 運行結果 ``` 4321 ``` 數列實現了接口`Iterable<N>`,其中`N`分別是int、`Long`或 `Char`,因此您可以在各種[集合函數](http://www.hmoore.net/book/alex_wsc/android_kotlin/collection-operations.html)中使用它們,如map、filter和其他函數。 ```kotlin fun main() { //sampleStart println((1..10).filter { it % 2 == 0 }) //sampleEnd } ``` 運行結果 ``` [2, 4, 6, 8, 10] ```
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看