首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

深入理解 do-while 迴圈中布林旗標的判斷邏輯

     編輯:程式設計綜合問答

核心疑問

在 do-while 迴圈中,若初始化 boolean flag = false 或 true,執行結果為何相同?while(flag) 與 while(!flag) 的含義是否固定?

代碼示例

public class Test {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        boolean flag = false;
        do {
            System.out.println("請輸入數據:");
            int num = input.nextInt();
            if (num < 10) {
                System.out.println("繼續執行:");
                flag = true;
            } else {
                System.out.println("程序中止!");
                flag = false;
            }
        } while (flag);
    }
}

關鍵結論

do-while 迴圈無論旗標初始值為何,都會無條件執行一次迴圈體,然後再根據條件判斷是否繼續。 因此初始 false 或 true 只影響第一次迭代後的判斷,不影響首次執行。若改用 while(flag) do {...}(即 while 迴圈),則初始值直接決定是否進入迴圈,行為將截然不同。

條件判斷本質

  • while(flag) 等價於 while(flag == true):旗標為 true 時繼續。
  • while(!flag) 等價於 while(flag == false):旗標為 false 時繼續。

旗標在迴圈體內被修改(如代碼中根據輸入賦值),才真正控制迴圈走向。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved