CodeGym /Java Blog /Toto sisi /Java While 循環
John Squirrels
等級 41
San Francisco

Java While 循環

在 Toto sisi 群組發布
while循環幾乎在所有編程語言中都有,Java 也不例外。Java 和其他語言中的While循環只要觸發它的條件值為真,就會執行一條語句或語句塊。在本文中,我們將討論如何使用while循環。 Java While 循環 - 1

循環有什麼用?

你的第一個程序是一系列指令,一步一步地執行。沒有分叉和重複。後來我們開始在條件運算符的幫助下使用分支。嗯,為了執行重複的動作,有循環。也許循環是流程自動化為新手程序員帶來的最明顯的好處之一。想像一下,您需要編寫一個跟踪器程序來計算一天的步數。例如,當您通過 10,000 步時,程序會向您發送有關已實現目標的通知。發出通知的任務可以用這樣的文字(或偽代碼)來表達:

While (number of steps less than 10,000)
{
Count steps
}

Send notification "you have reached the goal"
也就是說,只要步數等於條件中指定的步數,程序就會退出此循環並發送通知。或者另一個例子。想像一下,您需要記住一首詩(或演講)。一首詩,如果你能不偷看地連續讀三遍,就可以算背熟了。如果你想像一個程序可以捕捉你背誦一首詩的嘗試,它也必須使用一個循環:

While (success < 3)
learn a poem
類似的結構被用於所有現代教育應用程序中,例如,學習語言或演奏樂器。

while循環及其結構

要解決上述示例的問題,更一般地說,要在 Java 中自動執行重複操作,您可以使用while循環。Java while循環在我們的例子中會很好地工作。這種設計將多個動作安排在一個簡潔易懂的結構中。while循環語句在幾乎所有的編程語言中都有。只要其控製表達式的值為真,它就會重複一條語句或語句塊。while循環的形式如下:

while(condition == true) {
    // statement or loop body
}
條件必須是一個布爾表達式,也就是說,可以說是真或假。以下是布爾表達式的一些示例:

s != "exit";
a > 5;
true;
只要條件表達式為真,就會執行循環體。當條件變為假時,控制權將轉移到循環之後的代碼行。如果循環中只使用一條語句,那麼大括號可以省略(但最好不要這樣做)。邏輯表達式在while循環開始之前被求值,然後每次都在執行語句的下一次重複之前被求值。

While 循環示例

讓我們編寫一個程序,使用while循環對從 1 到 10 的所有數字求和:

public class WhileTest0 {
   public static void main(String[] args) {
       int i = 0;
       int sum = 0;
   //while loop     
   while (i < 11) {
           sum = sum + i;
           i++;
       }
       System.out.println(sum);
   }
}
輸出是:
55
我們需要計算從 1(或從 0,無所謂)到 10 的所有數字的總和。我們讓初始總和和第一個元素都為零,並且每次通過都會將元素增加 1循環。我們將繼續求和,直到參數等於 10(即小於 11。類似地,我們可以寫條件i <= 10)。讓我們再舉一個 Java while循環的例子。我們將編寫一個程序,讓用戶輸入正整數。如果他們輸入零或負數,程序應該報告並完成工作。

import java.util.Scanner;

public class WhileTest {
   public static void main(String[] args) {
       int positiveNumber = 1;
       Scanner scanner = new Scanner(String.valueOf(positiveNumber));
       while (positiveNumber > 0) {
           Scanner sc = new Scanner(System.in);
           System.out.println("Enter positive number:");
           positiveNumber = sc.nextInt();
           System.out.println("ok, next");
       }
       System.out.println("The number should be positive");
   }
}
您可以改進程序並向其添加內容,例如,檢查用戶是否輸入了一個數字而不是其他字符,或者該數字是否為整數。

do-while 循環

如上例所示,經典的while循環會立即檢查條件是否為真。因此,它可以稱為有前提條件的循環。while循環有一個兄弟 do-while,一個帶有後置條件的循環。也就是說,在條件真值測試發生之前,這樣的循環至少會執行一次:

do {
     // Loop body - periodically executed statement(s)
}while(Boolean expression);
因此,具有此類循環的第一個示例如下所示:

public class WhileTest0 {
   public static void main(String[] args) {
       int i = 0;
       int sum = 0;
       do
        {
           sum = sum + i;
           i++;
       } while (i < 11);
       System.out.println(sum);
   }
}

無限循環

while循環可用於組織while(true)形式的無限循環:例如,這是一個無休止地(有一些細微差別)打印一系列整數的程序:

public class EndlessLoop {
    public static void main(String[] args) {
        int i = 0;
        while (true) {
            System.out.println(i++);
        }
    }
}
為了鞏固您所學的知識,我們建議您觀看我們的 Java 課程中的視頻課程
留言
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION