Java 菜鳥教程

Java 流程控制

Java 數(shù)組

Java 面向?qū)ο?I)

Java 面向?qū)ο?II)

Java 面向?qū)ο?III)

Java 異常處理

Java 列表(List)

Java Queue(隊(duì)列)

Java Map集合

Java Set集合

Java 輸入輸出(I/O)

Java Reader/Writer

Java 其他主題

Java for循環(huán)

在本教程中,我們將借助示例學(xué)習(xí)如何在Java中使用for循環(huán),并且還將學(xué)習(xí)for循環(huán)在計(jì)算機(jī)編程中的工作方式。

在計(jì)算機(jī)編程中,循環(huán)用于重復(fù)特定的代碼塊,直到滿足特定條件(測(cè)試表達(dá)式為false)為止。例如,

想象一下,我們需要在屏幕上打印一個(gè)句子50次。好吧,我們可以通過(guò)使用print語(yǔ)句50次(不使用循環(huán))來(lái)做到這一點(diǎn)。您需要打印一百萬(wàn)次句子怎么樣?這時(shí)您需要使用循環(huán)。使用循環(huán),我們可以只編寫一次print語(yǔ)句,然后運(yùn)行任意次數(shù)。

這只是一個(gè)簡(jiǎn)單的示例,顯示了循環(huán)在計(jì)算機(jī)編程中的重要性。

Java for循環(huán)

Java 中for循環(huán)的語(yǔ)法是:

for (initialization; testExpression; update)
{
    // 循環(huán)體內(nèi)的代碼
}

for循環(huán)的工作

  1. 初始化(initialization)表達(dá)式只執(zhí)行一次。

  2. 然后,評(píng)估測(cè)試表達(dá)式(testExpression)。在這里,測(cè)試表達(dá)式(testExpression)是一個(gè)布爾表達(dá)式。

  3. 如果測(cè)試表達(dá)式(testExpression)的計(jì)算結(jié)果為true,則執(zhí)行for循環(huán)體內(nèi)的代碼。

  4. 然后執(zhí)行更新表達(dá)式(update)。

  5. 再次,評(píng)估測(cè)試表達(dá)式(initialization)。

  6. 如果測(cè)試表達(dá)式為true,則執(zhí)行for循環(huán)體內(nèi)的代碼,并繼續(xù)執(zhí)行更新表達(dá)式(update)。

  7.             這個(gè)過(guò)程一直進(jìn)行到測(cè)試表達(dá)式(testExpression)被評(píng)估為false時(shí)為止。

  8. 如果測(cè)試表達(dá)式(testExpression)的計(jì)算結(jié)果為false,則for循環(huán)終止。

for循環(huán)流程圖

Java for Loop流程圖
for循環(huán)的工作流程圖

示例1:for循環(huán)

//程序打印一個(gè)句子十次
class Loop {
    public static void main(String[] args) {
      
        for (int i = 1; i <= 10; ++i) {
            System.out.println("Line " + i);
        }
    }
}

輸出

Line 1
Line 2
Line 3
Line 4
Line 5
Line 6
Line 7
Line 8
Line 9
Line 10

在上面的示例中,我們有

  • 初始化表達(dá)式:int i = 1

  • 測(cè)試表達(dá)式:i <= 10

  • 更新表達(dá)式:++ i

在這里,i最初的值是1。因此,測(cè)試表達(dá)式第一次求值為true。所以,將執(zhí)行打印語(yǔ)句?,F(xiàn)在將評(píng)估更新表達(dá)式。

每次評(píng)估更新表達(dá)式時(shí),i的值都會(huì)增加1。再次,評(píng)估測(cè)試表達(dá)式。并且,重復(fù)相同的過(guò)程。

該過(guò)程一直持續(xù)到i為11。當(dāng)i為11時(shí),測(cè)試表達(dá)式(i <= 10)為false,for循環(huán)終止。

要了解有關(guān)測(cè)試表達(dá)式及其評(píng)估方式的更多信息,請(qǐng)?jiān)L問(wèn)關(guān)系運(yùn)算符邏輯運(yùn)算符。

示例2:for循環(huán)

//程序查找從1到1000的自然數(shù)之和。
class Number {
    public static void main(String[] args) {
      
        int sum = 0;
	   
        for (int i = 1; i <= 1000; ++i) {
            sum += i;     //等同于 sum = sum + i
        }
	   
        System.out.println("Sum = " + sum);
    }
}

輸出

Sum = 500500

在這里,我們有一個(gè)名為sum的變量。其初始值為0。在for循環(huán)內(nèi)部,我們初始化了一個(gè)名為i的變量的值為1。

在for循環(huán)的每次迭代中,

  • 為sum變量分配值:sum + i

  • i的值增加1

循環(huán)一直進(jìn)行到i的值大于1000為止。為了獲得更好的可視化效果,

1 重復(fù): i = 1 同時(shí) sum = 0+1 = 1
2 重復(fù): i = 2 同時(shí) sum = 1+2 = 3
3 重復(fù): i = 3 同時(shí) sum = 3+3 = 6
4 重復(fù): i = 4 同時(shí) sum = 6+4 = 10
... .. ...

999 重復(fù): i = 999 同時(shí) sum = 498501 + 999 = 499500
1000 重復(fù): i = 1000 同時(shí) sum = 499500 + 1000 = 500500

無(wú)限循環(huán)

在使用循環(huán)時(shí),我們應(yīng)始終小心。這是因?yàn)槿绻覀冨e(cuò)誤地將測(cè)試表達(dá)式設(shè)置為從不為false時(shí),則for循環(huán)將永遠(yuǎn)運(yùn)行。

這稱為無(wú)限循環(huán)。例如,

//無(wú)限循環(huán)
class Infinite {
    public static void main(String[] args) {
      
        int sum = 0;

        for (int i = 1; i <= 10; --i) {
            System.out.println("Hello");
        }
    }
}

在這里,測(cè)試表達(dá)式(i <= 10)永遠(yuǎn)不會(huì)出現(xiàn)false,并且hello會(huì)無(wú)數(shù)次打?。ㄖ辽僭诶碚撋鲜沁@樣)。

for ( ; ; ) {

}

Java for-each循環(huán)(遍歷循環(huán))

在Java中,for循環(huán)的另一種語(yǔ)法可用于Java數(shù)組Java集合(稱為遍歷循環(huán))。例如,

for (int a : array) {
    System.out.println(a);
}

要了解更多信息,請(qǐng)?jiān)L問(wèn):Java 遍歷循環(huán)

丰满人妻一级特黄a大片,午夜无码免费福利一级,欧美亚洲精品在线,国产婷婷成人久久Av免费高清