馬克扎克伯格曾經指出,計算機在重複命令方面非常擅長。這對人類來說並不簡單,我們厭倦了連續多次重複同樣的事情,但計算機可以做數百萬次,永遠不會厭倦。如果你試圖向所有 Facebook 用戶發送問候,沒有人有足夠的時間來做這件事。但是,您可以通過編寫幾行代碼讓計算機來解決此任務。這就是循環的工作原理。他們讓我們不要重複相同的例行動作。Java 中最流行的循環是所謂的定義循環或 for 循環。

如何在 Java 中編寫 for 循環?一般的for循環

For 循環將某些語句執行一定次數。例如,寫五十遍“我不能這樣,呵呵,呵呵”或向所有朋友發送邀請是此類循環的典型任務。for 循環最常見版本的語法:

for ([counter initialization]; [checking conditions]; [changing of the counter])
{
    //  statements
}
初始化表達式執行一次,然後計算條件,它應該是一個布爾表達式。
  • 當循環開始時,初始化就會執行。
  • 當條件評估為 false 時,我們的循環停止工作。
計數器在變化,通常在每次循環迭代後發生遞增(或遞減)。您可以跳過三個循環表達式中的任何一個(初始化、檢查條件、更改計數器)。在循環的下一步之前檢查循環條件。如果條件為假,程序跳出循環並繼續執行 for 結構之後的指令。這裡我們有一個 for 循環的框圖。 Java 中的 For 循環 - 2

如何在 Java 中使用 for 循環。簡單的例子。

這是一個特定的 Java for 循環示例。讓我們寫十次“你好!” 字符串每次都會從新的一行開始,加上這一行的編號。我們應該得到下一個輸出:
  1. 你好!
  2. 你好!
  3. 你好!
  4. 你好!
  5. 你好!
  6. 你好!
  7. 你好!
  8. 你好!
  9. 你好!
  10. 你好!
這是解決此問題的 Java 程序:

public class ForExample {
   public static void main(String[] args) {
       for (int i = 0; i < 10; i++) {
           System.out.println(i + 1 + ". Hello!");
       }
   }
}

怎麼運行的?

步驟 1. 計數器 i = 0。循環檢查我們的條件,i << 10,因此執行循環語句。它打印短語“1. Hello!”。1 是一個字符串 i + 1 (因為我們從零開始數,但第一行仍然是第一行)。計數器 i 遞增。現在,i = 1。第 2 步。計數器 i = 1。i < 10,所以我們有一個短語“2. Hello!” 和 i + 1 = 2。 ... 第 10 步。計數器 i = 9,我們得到“10。你好!” i 增加到 10。 第 11 步。計數器 i = 10。i < 10 ? 不,這是假的。因此,循環結束。 Java 中的 For 循環 - 3

while循環和for循環:異同

在 Java 中,如果布爾條件成立,則無限循環或 while 循環將連續執行。while循環的語法:

while (boolean condition)
       {
            loop statements...
       }
通常您可以選擇要使用哪一個循環。有時它們非常接近,您可以同時使用它們。例如,這是用 while 循環編寫的同一個任務的代碼(寫十次“Hello!”和行號):

public class ForAndForEach {
   public static void main(String[] args) {
       int j = 0;  //  we use the counter this way 
       while (j < 10) {
           System.out.println(j + 1 + ". Hello!");
           j++;
       }
   }
}
然而,專業的程序員並不是很喜歡 while 循環,只要有可能,盡量使用 for 循環。
為了 儘管

如果我們已經知道迭代次數,則使用 for 循環。

如果我們不知道確切的迭代次數,我們會使用 while 循環。

初始化、條件檢查和計數器更改已經縫合在循環的語法中

循環內的初始化和條件檢查。您還可以在語句中使用計數器。

無限循環:


for(;;){
	System.out.println("working...");
}

無限循環而:


while(true){
	System.out.println("working...");
}

如何退出java中的for循環

通常,for 循環像流程一樣運行,退出循環的自然方式是當條件取假值時。但是,有兩個控制語句允許您在獲得條件的假值之前退出循環 — break 和 continue。
  • break 允許退出當前循環體,就好像循環條件已評估為 false 一樣。
  • continue 使循環跳轉到下一步(迭代計數器)而不執行語句。
讓我們使用 break and continue 解決下一個問題。我們有一個名字數組,我們向這個數組中的每個人問好,除了陌生人。因此,如果我們在循環中遇到“陌生人”字符串,我們將退出它(走開並停下來向其他人打招呼)。

public class ForBreakExample {
   public static void main(String[] args) {
       String[] names = {"Mike", "Dustin", "Stranger", "Lucas", "Will"};
       for (int i = 0; i < names.length; i++) {
//  how to break out of a for loop, java: check if we have any "Stranger" in  //  our array            
if (names[i].equals("Stranger")) {
               System.out.println("I don't chat with strangers");
               break;
           }
           System.out.println("Hello," + names[i]);
       }
   }
}
我們程序執行的結果是:

Hello,Mike
Hello,Dustin
I don't chat with strangers
看?在我們迎接盧卡斯和威爾之前,我們逃離了環路。現在讓我們使用 continue 來忽略“陌生人”,但留在循環中與其他朋友打招呼。

public class ForContinueExample {
   public static void main(String[] args) {
       String[] names = {"Mike", "Dustin", "Stranger", "Lucas", "Will"};
       for (int i = 0; i < names.length; i++) {
           if (names[i].equals("Stranger")) {
               System.out.println("I don't chat with strangers");
               continue;
           }
           System.out.println("Hello," + names[i]);
       }
   }
}
結果是:

Hello,Mike
Hello,Dustin
I don't chat with strangers
Hello,Lucas
Hello,Will
出色的!我們和所有的朋友打招呼,但沒有和陌生人說話。

for循環或for-each的加強版

For-each 是一種 for 循環,當您需要處理數組或集合的所有元素時使用。實際上,這個循環中並沒有使用 for-each 這個短語。語法如下:

for (type itVar: array)
{
    Block of operators;
}
其中type是迭代變量的類型(同數組的數據類型),ItVar是它的名字,array是數組,也可以是其他數據結構,比如ArrayList。如您所見,沒有計數器,迭代變量迭代數組或集合的元素,而不是索引值。當執行這樣的循環時,迭代變量被順序分配給數組或集合的每個元素的值,之後執行指定的語句塊(或運算符)。注意:for-each 循環可以應用於數組和任何實現了 java.lang.Iterable 接口的類。讓我們解決問候朋友的相同問題,忽略陌生人(“陌生人”),但這次使用 for-each 循環。

public class ForEachExample {
   public static void main(String[] args) {
       String[] names = {"Mike", "Dustin", "Stranger", "Lucas", "Will"};
	//  for each loop, Java code
       for (String name : names) {
           if (name.equals("Stranger")) {
               System.out.println("I don't chat with strangers");
               continue;
           }
           System.out.println("hello, " + name);
       }
   }
}
為了鞏固您所學的知識,我們建議您觀看我們的 Java 課程中的視頻課程