Java - do...while 迴圈:初學者指南

你好,未來的 Java 程式設計師!今天,我們將深入探討 Java 中最有用的控制結構之一:do...while 迴圈。如果你完全是程式設計的新手,也別擔心;我會逐步引導你了解這個概念,就像我在多年的教學中為無數學生所做的那樣。那麼,讓我們開始這段令人興奮的旅程吧!

Java - do-while Loops

什麼是 do...while 迴圈?

在我們深入細節之前,先來了解什麼是迴圈。想象一下你在做餅乾(好好吃哦!)。你不可能只做一個餅乾就停止了,對吧?你會重複這個過程,直到用完所有的麵團。這正是程式設計中的迴圈所做的 - 它重複執行一系列指令,直到滿足某個條件為止。

現在,do...while 迴圈是一種特殊的迴圈。它就像是在說,“先做這個任務,然後再檢查你是否需要重複做。”這非常適合那些你想確保一個程式碼區塊至少運行一次的情況。

do...while 迴圈的語法

讓我們看看 do...while 迴圈的基本結構:

do {
// 要執行的程式碼
} while (條件);

這很簡單,不是嗎?以下是每個部分的意思:

  • do:這個關鍵字標記迴圈的開始。
  • { }:這些大括號包含將被執行的程式碼。
  • while:這個關鍵字在程式碼區塊之後。
  • (條件):這裡是你放置決定迴圈是否應繼續的條件。

do...while 迴圈的執行過程

現在,讓我們來分解這個迴圈實際上是怎麼工作的:

  1. 執行 do 區塊內的程式碼。
  2. 執行完程式碼後,檢查 while 語句中的條件。
  3. 如果條件為真,迴圈回到第 1 步。
  4. 如果條件為假,迴圈結束,程式繼續執行迴圈之後的下一個語句。

流程圖

為了形象化這個過程,想象一下這樣的流程圖:

┌─────────────┐
│ 開始       │
└─────────────┘
│
▼
┌─────────────┐
│ 執行       │
│ 程式碼區塊  │
└─────────────┘
│
▼
┌─────────────┐
│ 檢查       │
│ 條件       │
└─────────────┘
│
┌─────┴─────┐
是│           │否
│           │
▼           ▼
┌─────────────┐    ┌─────────────┐
│ 再次迴圈    │    │ 結束         │
└─────────────┘    └─────────────┘

do...while 迴圈示例

讓我們看看一些實際的例子,以真正了解這是如何工作的。

示例 1:計數到 5

public class CountToFive {
public static void main(String[] args) {
int count = 1;
do {
System.out.println("Count is: " + count);
count++;
} while (count <= 5);
}
}

在這個例子中:

  • 我們從 count 設為 1 開始。
  • 迴圈列印當前的計數,然後將其增加。
  • 這會繼續直到 count 大於 5 為止。

輸出:

Count is: 1
Count is: 2
Count is: 3
Count is: 4
Count is: 5

示例 2:用戶輸入驗證

這是一個更實際的例子。假設我們想確保用戶輸入一個正數:

import java.util.Scanner;

public class PositiveNumberInput {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int number;

do {
System.out.print("Please enter a positive number: ");
number = scanner.nextInt();
} while (number <= 0);

System.out.println("You entered: " + number);
scanner.close();
}
}

在這個例子中:

  • 我們使用 Scanner 從用戶那裡獲取輸入。
  • 迴圈要求輸入一個數字並將其存儲在 number 中。
  • 如果數字不是正數(<=0),則迴圈會繼續。
  • 一旦輸入正數,迴圈結束,我們列印出該數字。

這是 do...while 迴圈的絕佳用法,因為我們想確保至少要求輸入一次,並且在獲得有效輸入之前會繼續要求。

Java 中的 do...while 無限迴圈

現在,讓我們談談一些稍微複雜的事情 - 無限迴圈。無限迴圈就像一首永遠不會結束的歌(為那些記得的人播放 Lambchop 主題曲!)。在程式設計中,我們通常想要避免這種情況,但有時它可能會有用。

以下是無限 do...while 迴圈的例子:

public class InfiniteLoop {
public static void main(String[] args) {
do {
System.out.println("This will print forever!");
} while (true);
}
}

在這種情況下,條件永遠為 true,所以迴圈永遠不會結束。請小心使用這些!如果你運行這個,你將需要手動停止你的程式。

何時使用 do...while 迴圈

你可能有這樣的疑問,“我什麼時候應該使用 do...while 迴圈而不是普通的 while 迴圈?”好問題!在以下情況下使用 do...while 迴圈:

  1. 你希望在檢查條件之前先執行一次程式碼。
  2. 你正在驗證用戶輸入(如我們的第二個例子)。
  3. 你正在創建一個菜單系統,希望至少顯示一次選項。

結論

就是這樣,各位!我們已經穿越了 Java 中 do...while 迴圈的領域。記住,程式設計就像學習騎自行車一樣 - 一開始可能會晃來晃去,但經過練習,你將能夠快速前進。

繼續練習,嘗試不同的例子,並不要害怕犯錯。我們都是這樣學習的!誰知道呢?也許有一天你會成為那個教導別人關於 Java 迴圈的奇蹟的人。

編程愉快,願你的迴圈總是在你希望它們結束的時候終止!

Credits: Image by storyset