什麼是周期
用Java編寫的程式由特定的程式碼組成。通常它是按順序執行的:逐行、從上到下。但也有一些程式碼結構會改變程式的線性執行。它們被稱為控制結構。 多虧了它們,程式碼可以選擇性地執行。例如,運行一段程式碼而不是另一段。 循環是一種控制結構,用於組織同一程式碼段的重複執行。這種控制結構內部的程式碼是循環執行的。程式碼的每次執行都是循環的一次迭代。迭代次數由循環條件控制。在循環內運行的程式碼稱為循環體。已知以下類型的循環:-
前置條件循環:執行條件在第一次迭代之前確定。
-
帶後置條件的循環:執行條件在第一次迭代後確定(因此它們總是至少執行一次)。當您需要執行特定操作直到實現特定條件時很有用:例如,讀取使用者的輸入直到他輸入單字「停止」。
-
計數器循環:迭代次數由類比計數器決定。循環條件指定其初始值和最終值。每次迭代計數器都會增加。我們可以提前確定迭代次數。
當您需要迭代集合中的所有元素時,這些循環非常有用。帶有計數器的循環稱為“loops for...”。“對於某個集合的每個元素,請執行以下操作。”
在某些情況下,循環的執行可以在達到其條件之前中斷。例如,如果我們有 100 個數字的集合,我們需要了解它是否包含負數。我們可以使用 for 迴圈開始迴圈所有數字。但是當我們找到第一個負數時,我們就不必遍歷剩下的數了。如果循環的進一步執行沒有意義,我們可以中斷循環的執行。這種情況稱為循環中斷。
-
無條件循環是無限運行的循環。例如:「當 1=1 時,列印「1=1」」。這樣的程式將一直運行到被手動中斷為止。
當與從內部中斷循環結合使用時,這些循環也很有用。小心使用它們,以免導致程序凍結。
您可以在 JavaRush 課程的第 4 級中了解有關 Java 程式語言中的循環的更多資訊。特別是 while 和 for 迴圈。
Java 中的循環
現在讓我們看看Java 中的循環。這種語言中有幾種類型:while
— 有前提條件的循環;do..while
— 後置條件的循環;for
— 帶計數器的循環(循環 for);for each..
— “for every…” 迴圈 — 一種用於迭代元素集合的 for 類型。
while
,do.. while
並且for
可以用作無條件循環。您可以在JavaRush課程的第四級訓練中比較不同程式語言中循環的語法。例如,for 和 while 迴圈。讓我們簡要地考慮一下所提出的每種類型。
while 循環
Java 中的循環如下所示:while (expression) {
statement(s)
}
這裡:
expression
boolean
— 循環條件,應該傳回值的表達式。statement(s)
— 迴圈體(一行或多行程式碼)。
expression
。如果表達式的結果為true,則執行迴圈體statement(s)
。例子:
public class WhileExample {
public static void main(String[] args) {
int countDown = 10;
while (countDown >= 0) {
System.out.println("До старта: " + countDown);
countDown --;
}
System.out.println("Поехали !");
}
}
結論:
До старта: 10
До старта: 9
До старта: 8
До старта: 7
До старта: 6
До старта: 5
До старта: 4
До старта: 3
До старта: 2
До старта: 1
До старта: 0
Поехали !
使用while
,您可以建立無限循環:
while (true) {
// тело цикла
}
要中斷循環的執行,可以使用運算子break
。例如:
public class WhileExample {
public static void main(String[] args) {
int count = 1;
while (true) {
System.out.println("Строка №" + count);
if (count > 3) {
break;
}
count++; // Без наращивания цикл будет выполняться вечно
}
}
}
結論:
Строка №1
Строка №2
Строка №3
Строка №4
您可以在 JavaRush 課程的第 4 級練習編寫自己的循環。
do..while 循環
結構do.. while
如下:
do {
statement(s)
} while (expression);
這裡:
expression
boolean
— 循環條件,應該傳回值的表達式。statement(s)
— 迴圈體(一行或多行程式碼)。
while
,表達式的值將在每次迭代後計算。如果表達式的結果為true,則循環體將再次執行statement(s)
(至少一次)。例子:
public class DoWhileExample {
public static void main(String[] args) {
int count = 1;
do {
System.out.println("count = " + count);
count ++;
} while (count < 11);
}
}
結論:
count = 1
count = 2
count = 3
count = 4
count = 5
count = 6
count = 7
count = 8
count = 9
count = 10
for迴圈
這個 Java 迴圈看起來像這樣:for (initialization; termination; increment) {
statement(s)
}
這裡:
initialization
— 初始化循環執行的表達式。僅在循環開始時執行一次。大多數情況下,此表達式會初始化循環計數器termination
—boolean
調節循環結束的表達式。如果表達式的結果為false,則循環for
將中斷。increment
— 在每次循環迭代後執行的表達式。大多數情況下,此表達式涉及遞增或遞減計數器變數。statement(s)
— 循環體。
initialization
, termination
,increment
是可選的。如果我們忽略它們中的每一個,我們就會得到一個無限循環:
// бесконечный цикл
for ( ; ; ) {
// code тела цикла
}
循環範例for
:
public class ForExample {
public static void main(String[] args) {
for (int i = 1; i < 6; i++) {
System.out.println("Строка №" + i);
}
}
}
結論:
Строка №1
Строка №2
Строка №3
Строка №4
Строка №5
JavaRush 課程的第 4 級提供了有關 for 迴圈的研討會。
循環每個
此 Java 循環是一種for
用於迭代集合和數組的循環。結構for each
如下:
for (Type var : vars) {
statement(s)
}
這裡:
vars
- 變數、現有清單或陣列Type var
Type
— 定義與集合具有相同類型 () 的新變數vars
。
public class ForExample {
public static void main(String[] args) {
String[] daysOfWeek =
{ "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday" };
for (String dayOfWeek : daysOfWeek) {
System.out.println(dayOfWeek);
}
}
}
JavaRush 課程的 Java 文法任務第四級學習了 Java 迴圈。嘗試解決該主題的問題:)
GO TO FULL VERSION