Java 循環(huán)語句的簡要指南
只要某些預(yù)定的條件為真,一個 ??while?
?? 循環(huán)就會執(zhí)行一組任務(wù)。這被認為是一個控制結(jié)構(gòu),可以指導(dǎo)程序的流程。它是一種你可以通過定義一個條件來告訴你的代碼要做什么的方法,它可以測試它,并根據(jù)它發(fā)現(xiàn)的情況采取行動。Java 中的兩種 ??while?
?? 循環(huán)是 ??while?
?? 和 ??do?
??/??while?
?。
Java while 循環(huán)
??while?
? 循環(huán)的目的是對數(shù)據(jù)進行迭代,直到某個條件得到滿足。要創(chuàng)建一個 ??while?
? 循環(huán),你需要提供一個可以測試的條件,然后是你想要運行的代碼。Java 有幾個內(nèi)置的測試函數(shù),其中最簡單的是數(shù)學(xué)運算符(??<?
?, ??>?
?, ??==?
?, 等等):
在這個簡單的例子中,條件是變量 ??count?
? 小于 5。因為 ??count?
? 被實例化為 0,然后在 ??while?
? 循環(huán)的代碼中增加 1,所以程序總共迭代了 5 次:
在它進行第六次迭代之前,條件不再是真的,所以循環(huán)結(jié)束。
??while?
? 循環(huán)的條件語句是至關(guān)重要的。弄錯了可能意味著你的循環(huán)永遠不會執(zhí)行。例如,假設(shè)你把 ??count == 5?
? 作為條件:
當(dāng)你運行這段代碼時,它的構(gòu)建和運行都很成功,但什么也沒有發(fā)生:
循環(huán)被跳過了,因為 ??count?
? 被設(shè)置為 0,而且在第一次遇到 while 循環(huán)的時候,它還是 0。循環(huán)從未開始,??count?
? 也從未被遞增。
與此相反的是,當(dāng)一個條件開始為真,并且永遠不會為假時,這將導(dǎo)致一個無限循環(huán)。
Java do while 循環(huán)
與 ??while?
? 循環(huán)相似,??do?
?/??while?
? 循環(huán)在每次迭代結(jié)束時測試條件,而不是在開始時測試條件。有了這個循環(huán),循環(huán)中的代碼至少運行一次,因為沒有進入的入口,只有退出的出口:
在這個示例代碼中,??count?
? 被設(shè)置為 9。循環(huán)重復(fù)的條件是 ??count?
? 等于 5,但是 9 不等于 5。不過,這個檢查要到第一次迭代結(jié)束時才進行:
Java 無限循環(huán)
無限循環(huán),正如它的名字所示,永遠不會結(jié)束。有時它們是被錯誤地創(chuàng)建的,但無限循環(huán)確實有一個有效的場景。有時你想讓一個進程無限地繼續(xù)下去(在功能上是無限的,因為你不能保證你需要它什么時候停止),因此你可能會把你的條件設(shè)置為不可能滿足的東西。
假設(shè)你寫了一個應(yīng)用程序,在僵尸天啟期間計算留在你附近的僵尸的數(shù)量。為了模擬需要多少個循環(huán)才能達到 0 個僵尸的不確定性,我的演示代碼從操作系統(tǒng)中檢索了一個時間戳,并將計數(shù)器(??c?
?)的值設(shè)置為從該時間戳得出的某個數(shù)字。因為這是一個簡單的例子,你不會真的想陷入一個無限循環(huán),這段代碼倒數(shù)到 0,并使用 ??break?
? 函數(shù)來強制結(jié)束循環(huán):
你可能要運行幾次才能觸發(fā)不同的僵尸總數(shù),但有時你的程序會迭代 128 次,有時會迭代 1024 次:
你能說出為什么循環(huán)的終點是 0 而不是 -1 嗎?
Java 循環(huán)
循環(huán)使你能夠控制程序的執(zhí)行流程。迭代在編程中很常見,無論你使用 ??while?
? 循環(huán)、??do?
?/??while?
? 循環(huán)還是無限循環(huán),了解循環(huán)的工作原理都是至關(guān)重要的。