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

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                # Swift `while`和`repeat...while`循環 > 原文: [https://www.programiz.com/swift-programming/repeat-while-loop](https://www.programiz.com/swift-programming/repeat-while-loop) #### 在本文中,您將學習在 Swift 編程中創建`while`和`repeat..while`循環。 在上一篇文章中,我們了解了[`for-in`循環](/swift-programming/for-in-loop "Swift for-in loop"),用于在一定次數下運行一組任務。 在本文中,您將學習在未知迭代次數時使用`while`和`repeat..while`作為`for-in`循環的替代方法。 `while`循環執行一組語句,直到條件變為`false`為止。 當第一次迭代開始之前未知迭代次數時,最好使用此類循環。 Swift 提供了兩種`while`循環: * * * ## 1\. Swift `While`循環 該循環在每次通過循環的開始時求值其條件。 `while`循環的語法為: ```swift while (TestExpression) { // statements } ``` * * * ### `while`循環如何工作? `TestExpression`是布爾表達式。 如果將`TestExpression`求值為`true`, * `while`循環內的語句被執行。 * 并再次求值`TestExpression`。 該過程一直進行到`TestExpression`求值為`false`為止。 如果`TestExpression`求值為`false`,則`while`循環終止。 * * * ### `While`循環流程圖 ![Swift while loop flowchart](https://img.kancloud.cn/ee/7b/ee7bd833122c0497e508f5af2d8e9910_293x368.png "Swift while loop flowchart") * * * ### 示例 1:`While`循環 ```swift var currentLevel:Int = 0, finalLevel:Int = 5 let gameCompleted = true while (currentLevel <= finalLevel) { //play game if gameCompleted { print("You have passed level \(currentLevel)") currentLevel += 1 } } print("outside of while loop") ``` 運行該程序時,輸出為: ```swift You have passed level 0 You have passed level 1 You have passed level 2 You have passed level 3 You have passed level 4 You have passed level 5 outside of while loop ``` 在上述程序中,變量`currentLevel`和`finalLevel`初始化為 0,常量`gameCompleted`初始化為`true`。 在`while`循環的每次迭代中,它都會檢查條件`currentLevel <= finalLevel`。 如果條件返回`true`,則執行`while`循環內的語句,否則循環終止。 執行步驟 | 迭代 | 條件(`currentLevel <= finalLevel`) | 輸出 | | --- | --- | --- | | 1 |` 0 <= 5`(真) | `You have passed level 0` | | 2 | `1 <= 5`(真) | `You have passed level 1` | | 3 | `2 <= 5`(真) | `You have passed level 2` | | 4 | `3 <= 5`(真) | `You have passed level 3` | | 5 | `4 <= 5`(真) | `You have passed level 4` | | 6 | `5 <= 5`(真) | `You have passed level 5` | | 7 | `6 <= 5`(假) | `outside of while loop ` | * * * ## 2.`repeat...while`循環 該循環在每次循環結束時求值其條件。`repeat...while`循環類似于`while`循環,但有一個關鍵區別。 在檢查測試表達式之前,執行一次`repeat ... while`循環主體。 `repeat..while`循環的語法為: ```swift repeat { // statements ... } while (testExpression) ``` * * * ### `repeat...while`循環如何工作? `repeat...while`循環的主體執行一次(在檢查測試表達式之前)。 只有這樣,才檢查`testExpression`。 如果將`testExpression`求值為`true`,則執行循環體內的語句,然后再次求值`testExpression`。 該過程一直進行到`testExpression`求值為`false`為止。 當`testExpression`為`false`時,`repeat..while`循環終止。 * * * ### `repeat...while`循環的流程圖 ![Swift repeat..while loop flowchart](https://img.kancloud.cn/ba/da/badadf2131aeefe43776c9248c29dd64_301x367.png "Swift repeat..while loop flowchart") * * * ### 示例 2:`repeat...while`循環 ```swift var currentLevel:Int = 0, finalLevel:Int = 5 let gameCompleted = true repeat { //play game if gameCompleted { print("You have passed level \(currentLevel)") currentLevel += 1 } } while (currentLevel <= finalLevel) print("outside of repeat while loop") ``` 運行該程序時,輸出為: ```swift You have passed level 0 You have passed level 1 You have passed level 2 You have passed level 3 You have passed level 4 You have passed level 5 outside of repeat while loop ``` 在上面的示例中,循環內的語句首次執行。 對于下一次迭代,它將檢查條件`currentLevel <= finalLevel`。 如果條件返回`true`,則執行`while`循環內的語句,否則循環終止。 執行步驟 | 迭代 | 條件(`currentLevel <= finalLevel`) | 輸出 | | --- | --- | --- | | 1 | `0 <= 5`(`true`) | `You have passed level 0` | | 2 | `1 <= 5`(`true`) | `You have passed level 1` | | 3 | `2 <= 5`(`true`) | `You have passed level 2` | | 4 | `3 <= 5`(`true`) | `You have passed level 3` | | 5 | `4 <= 5`(`true`) | `You have passed level 4` | | 6 | `5 <= 5`(`true`) | `You have passed level 5` | | 7 | `6 <= 5`(`false`) | `outside of repeat while loop ` | 盡管`while`和`repeat while`循環具有相同的執行步驟,但是`repeat while`循環上的條件`currentLevel <= finalLevel`僅在執行其中的語句之后才執行。 但是在`while`中,條件是在開始時檢查的,然后在其中執行語句。 * * * ## 3.無限循環 如果測試表達式的取值從未為`false`,則`while`和`repeat..while`循環的主體將執行無數次。 ### 示例 3:無限`while`循環 ```swift while (true) { print("Hello, World!") } ``` ```swift repeat { print("Hello, World!") } while (true) ``` 運行該程序時,輸出為: ```swift Hello, World! Hello, World! . . . ``` 當您運行程序時,兩個循環都將無限次執行`print("Hello, World!")`語句。 因此,您可以看到連續輸出<string>您好,世界! 控制臺中的</string>。
                  <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>

                              哎呀哎呀视频在线观看