自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Java 循環(huán)語句的簡要指南

開發(fā) 后端
無論你使用的是 while 循環(huán)、do/while 循環(huán),還是無限循環(huán),了解循環(huán)的工作原理對 Java 編程至關(guā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é)運算符(??<??, ??>??, ??==??, 等等):

package com.opensource.example;public class Example {  public static void main(String[] args) {  int count = 0;  while (count < 5) {    System.out.printf("%d ", count);    count++;    }  }}

在這個簡單的例子中,條件是變量 ??count?? 小于 5。因為 ??count?? 被實例化為 0,然后在 ??while?? 循環(huán)的代碼中增加 1,所以程序總共迭代了 5 次:

$ java ./while.java0 1 2 3 4

在它進行第六次迭代之前,條件不再是真的,所以循環(huán)結(jié)束。

??while?? 循環(huán)的條件語句是至關(guān)重要的。弄錯了可能意味著你的循環(huán)永遠不會執(zhí)行。例如,假設(shè)你把 ??count == 5?? 作為條件:

while (count == 5) {    System.out.printf("%d ", count);    count++;

當(dāng)你運行這段代碼時,它的構(gòu)建和運行都很成功,但什么也沒有發(fā)生:

$ java ./while.java$

循環(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)中的代碼至少運行一次,因為沒有進入的入口,只有退出的出口:

package com.opensource.example;public class Example {  public static void main(String[] args) {  int count = 9;  do {      System.out.printf("%d ", count);      count++;    } while(count == 5);  }}

在這個示例代碼中,??count?? 被設(shè)置為 9。循環(huán)重復(fù)的條件是 ??count?? 等于 5,但是 9 不等于 5。不過,這個檢查要到第一次迭代結(jié)束時才進行:

$ java ./do.java9

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):

package com.opensource.example;public class Example {  public static void main(String[] args) {  long myTime = System.currentTimeMillis();  int c;  if ( myTime%2 == 0 ) {      c = 128;  } else {      c = 1024;  }  while(true) {    System.out.printf("%d Zombies\n", c);    // break for convenience    if ( c <= 0 ) { break; }    c--;    }  }}

你可能要運行幾次才能觸發(fā)不同的僵尸總數(shù),但有時你的程序會迭代 128 次,有時會迭代 1024 次:

$ java ./zcount.java1024 Zombies1023 Zombies[...]0 Zombies

你能說出為什么循環(huán)的終點是 0 而不是 -1 嗎?

Java 循環(huán)

循環(huán)使你能夠控制程序的執(zhí)行流程。迭代在編程中很常見,無論你使用 ??while?? 循環(huán)、??do??/??while?? 循環(huán)還是無限循環(huán),了解循環(huán)的工作原理都是至關(guān)重要的。

責(zé)任編輯:龐桂玉 來源: Linux中國
相關(guān)推薦

2021-03-30 13:19:42

物聯(lián)網(wǎng)IoT

2019-05-20 09:39:49

工業(yè)物聯(lián)網(wǎng)物聯(lián)網(wǎng)IOT

2020-09-15 06:15:23

滲透測試風(fēng)險評估網(wǎng)絡(luò)安全

2020-09-11 11:29:34

滲透測試風(fēng)險評估網(wǎng)絡(luò)安全

2019-05-30 06:51:29

2010-11-18 09:19:10

Oracle循環(huán)語句

2010-09-08 16:26:26

SQL循環(huán)語句

2022-04-18 10:20:31

數(shù)據(jù)映射工具

2010-09-08 16:38:13

SQL循環(huán)語句

2010-03-19 14:18:07

Java Socket

2010-09-08 16:17:37

SQL循環(huán)語句

2010-09-08 17:10:24

SQL循環(huán)語句

2023-06-12 15:33:52

Scalafor循環(huán)語句

2020-12-02 09:00:00

大數(shù)據(jù)互聯(lián)網(wǎng)工具

2021-08-11 09:00:30

Python基礎(chǔ)循環(huán)

2010-09-10 14:33:32

SQL循環(huán)語句

2010-03-09 14:00:20

Python循環(huán)語句

2009-08-20 15:26:42

C#循環(huán)語句

2010-03-16 11:05:53

Java while循

2010-07-05 10:32:03

802.11無線協(xié)議
點贊
收藏

51CTO技術(shù)棧公眾號