馬克扎克伯格曾經指出,計算機在重複命令方面非常擅長。這對人類來說並不簡單,我們厭倦了連續多次重複同樣的事情,但計算機可以做數百萬次,永遠不會厭倦。如果你試圖向所有 Facebook 用戶發送問候,沒有人有足夠的時間來做這件事。但是,您可以通過編寫幾行代碼讓計算機來解決此任務。這就是循環的工作原理。他們讓我們不要重複相同的例行動作。Java 中最流行的循環是所謂的定義循環或 for 循環。
如何在 Java 中編寫 for 循環?一般的for循環
For 循環將某些語句執行一定次數。例如,寫五十遍“我不能這樣,呵呵,呵呵”或向所有朋友發送邀請是此類循環的典型任務。for 循環最常見版本的語法:
for ([counter initialization]; [checking conditions]; [changing of the counter])
{
// statements
}
初始化表達式執行一次,然後計算條件,它應該是一個布爾表達式。
- 當循環開始時,初始化就會執行。
- 當條件評估為 false 時,我們的循環停止工作。
如何在 Java 中使用 for 循環。簡單的例子。
這是一個特定的 Java for 循環示例。讓我們寫十次“你好!” 字符串每次都會從新的一行開始,加上這一行的編號。我們應該得到下一個輸出:- 你好!
- 你好!
- 你好!
- 你好!
- 你好!
- 你好!
- 你好!
- 你好!
- 你好!
- 你好!
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 ? 不,這是假的。因此,循環結束。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 循環。 |
初始化、條件檢查和計數器更改已經縫合在循環的語法中 |
循環內的初始化和條件檢查。您還可以在語句中使用計數器。 |
無限循環:
|
無限循環而:
|
如何退出java中的for循環
通常,for 循環像流程一樣運行,退出循環的自然方式是當條件取假值時。但是,有兩個控制語句允許您在獲得條件的假值之前退出循環 — break 和 continue。- break 允許退出當前循環體,就好像循環條件已評估為 false 一樣。
- 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 課程中的視頻課程
更多閱讀: |
---|
GO TO FULL VERSION