最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

關(guān)于Java for循環(huán)的正確用法介紹

 更新時間:2023年05月18日 09:22:17   作者:一一哥Sun  
Java里的循環(huán)結(jié)構(gòu)我們可以通過while、do-while、for、foreach等方式實現(xiàn)循環(huán),這篇文章會把這幾種循環(huán)方式都給大家講解到,但本文主要介紹for循環(huán)的使用,感興趣的同學(xué)可以參考閱讀

一. 循環(huán)結(jié)構(gòu)

1. 概念

在學(xué)習(xí)Java里的循環(huán)之前,我們先來了解一下到底什么是循環(huán),以及循環(huán)的作用。我們先來看下面這張圖:

大家想一下,我們在400米的跑道上參加萬米長跑,正常情況下要跑25圈,這25圈每一圈的跑步過程其實都是一樣的,相當(dāng)于是我們重復(fù)地轉(zhuǎn)了25圈。跑完第25圈時,我們就會結(jié)束長跑,當(dāng)然你也可以提前結(jié)束長跑。但如果你是一個超人,跑完25圈之后還繼續(xù)跑下去,直到天荒地老,這就成了一個”死循環(huán)“了。

所以循環(huán)其實就是重復(fù)地完成某一件事情或者某一個操作,且該操作有開始和結(jié)束。我們在執(zhí)行循環(huán)時,需要滿足一定的循環(huán)條,反復(fù)執(zhí)行特定的代碼,當(dāng)條件被打破時就要結(jié)束循環(huán)。這個循環(huán)操作不一定是完全一樣的操作,而是類似的操作,比如我們可以循環(huán)的播放音樂、循環(huán)計算1000個學(xué)生的成績等。

2. 實現(xiàn)方式

明確了循環(huán)的概念之后,我們還要知道有哪幾種具體的循環(huán)實現(xiàn)方式。在Java中,實現(xiàn)循環(huán)的方式有:

for循環(huán);

while循環(huán);

do-while循環(huán);

foreach循環(huán)

接下來分別針對這幾種實現(xiàn)方式,結(jié)合代碼案例教會大家怎么進(jìn)行循環(huán)操作。

二. for循環(huán)

首先我們來學(xué)習(xí)一下Java里的for循環(huán),這也是我們開發(fā)時最常用的一種循環(huán)形式。

1. 語法

for循環(huán)的基本語法如下:

for(①.聲明并初始化循環(huán)變量;②.判斷循環(huán)條件;④.改變循環(huán)變量值){    
    //③.循環(huán)體
}

語法說明:

for循環(huán)最先執(zhí)行初始化步驟。在這里可以聲明一種類型,但可以初始化一個或多個循環(huán)控制變量,也可以是空語句;

判斷循環(huán)條件,檢測布爾表達(dá)式的值。如果為 true,循環(huán)體被執(zhí)行。如果為false,循環(huán)終止,開始執(zhí)行循環(huán)體后面的語句。且for循環(huán)的執(zhí)行次數(shù)在執(zhí)行前就已經(jīng)是確定的。

執(zhí)行一次循環(huán)后,就會更新一次循環(huán)控制變量的值;

再次檢測布爾表達(dá)式,循環(huán)執(zhí)行上面的過程。

2. 執(zhí)行流程

根據(jù)上面的for循環(huán)語法,把for循環(huán)的執(zhí)行流程給大家做個詳細(xì)的解釋:

首先我們要在第①步聲明并初始化一個變量,該操作在循環(huán)中只會執(zhí)行一次;

每次循環(huán)之前,在第②步判斷循環(huán)條件是否成立,只有當(dāng)條件為true才會執(zhí)行,如果條件為false則結(jié)束循環(huán);

每次循環(huán)時,都會在③中執(zhí)行循環(huán)體內(nèi)的代碼;

每次循環(huán)結(jié)束后,會自動執(zhí)行第④部分,改變變量的初始值;

for循環(huán)中①、②、④部分都可以省略不寫,但必須存在兩個”分號;“,也可以只寫一部分;

我們聲明變量類型時,不一定非得是int,最后改變初始值也不一定非得是++;

for循環(huán)中支持嵌套循環(huán)。

根據(jù)上面的步驟,把重點步驟給大家總結(jié)如下:

①-->②-->③-->④-->②-->③-->④-->②-->③-->④-.....-②

如下圖所示:

3. 基本案例

在了解了基本概念之后,再通過一個案例來給大家講解。

3.1 案例一

需求:循環(huán)輸出100遍 ”跟一哥學(xué)java“

/**
 * @author 
 */
public class Demo02 {
    public static void main(String[] args) {
	//for循環(huán),這里的i就是一個局部變量
	for( int i=0;  i<100;  i++) {
            System.out.println("跟一哥學(xué)java,i="+i);
	}
    }
}

注意,上面for循環(huán)中定義的變量i就是一個局部變量哦!

3.2 案例二

需求:計算1-100的和,1+2+3+4+5+...+100

/**
 * @author
 */
public class Demo02 {

    public static void main(String[] args) {
	// 計算1-100的和,1+2+3+4+5+...+100
        //定義一個用于存儲”和“的局部變量
	int sum = 0;
        
	for (int i = 1; i <= 100; i++) {
            // i = 1;
            // sum=0+1;
            // i = 2;
            // sum= 1+2;
            sum = sum + i;
	}
	System.out.println("sum=" + sum);
    }
}

4. 循環(huán)嵌套

在循環(huán)中是支持嵌套的,也就是說一個for循環(huán)里面可以嵌套另一個for循環(huán)。有的小伙伴會很好奇,for循環(huán)中可以嵌套幾個for循環(huán)?其實理論上可以嵌套很多,但為了效率和代碼的可讀性考慮,for循環(huán)的嵌套最好不要超過3層,否則效率真的很低,尤其是在大量循環(huán)時。

4.1 案例一

需求:打印出一個三角形,用“*”來表示。

/**
 * @author 
 */
public class Demo02 {
    public static void main(String[] args) {
	// for循環(huán)嵌套--打印出一個三角形,用“*”來表示
	for (int i = 1; i <= 5; i++) {
            //定義第2個局部變量j,j設(shè)置為<=i
            for (int j = 1; j <= i; j++) {
		//這里千萬不要換行哦
		System.out.print(" * ");
            }
            //這里一定要換行哦
            System.out.println();
	}
    }
}

效果如下圖所示:

4.2 案例二

需求:打印出九九乘法表。

/**
 * @author
 */
public class Demo02 {
    public static void main(String[] args) {
	// for循環(huán)嵌套--打印出一個三角形,用“*”來表示
	for (int i = 1; i <= 5; i++) {
            //定義第2個局部變量j,j設(shè)置為<=i
            for (int j = 1; j <= i; j++) {
		//這里千萬不要換行哦
		System.out.print(" * ");
            }
            //這里一定要換行哦
            System.out.println();
	}
    }
}

效果如下圖所示:

5. 幾種變形寫法

以上的案例,是for循環(huán)的常用寫法,但實際上for循環(huán)還有幾種”變異“的寫法。對這些變形的寫法,大家可以掌握了解。

5.1 定義多個初始化變量

我們先來回顧一下for循環(huán)的基本語法:

for(①.聲明并初始化循環(huán)變量;②.判斷循環(huán)條件;④.改變循環(huán)變量值){ 
    //③.循環(huán)體
}

在for循環(huán)中,①中可以同時定義為多個變量i、j、k等,②中的判斷條件不能使用多個變量,④中可以同時使用多個變量,并更改變量的值,案例如下所示:

/**
 * @author 
 *
 */
public class Demo02 {
    public static void main(String[] args) {
	//①中可以同時定義為多個變量i,j,k等;
        //②中的判斷條件不能使用多個變量;
        //④中可以同時使用多個變量,并更改變量的值
	for (int i = 0,j=0; i < 100; i++,j++) {
            System.out.println("跟一一哥學(xué)java,i=" + i+",j="+j);
	}
    }
}

5.2 簡寫形式

在for循行中,第①/②/④這幾部分的內(nèi)容都是可以省略簡寫的。

/**
 * @author
 */
public class Demo02 {
    public static void main(String[] args) {
        //簡寫形式1:在第一部分中簡寫變量的聲明
        //int i = 0;
        //for (; i < 100; i++) {
        //    System.out.println("跟一一哥學(xué)java,i=" + i);
        //}

        //簡寫形式2:在第①和④中簡寫
        //int i = 0;
        //for ( ; i < 100; ) {
        //    i++;
        //    System.out.println("跟一一哥學(xué)java,i=" + i);
        //}

        //簡寫形式3,①/②/④都簡寫--->死循環(huán)
        int i = 0;
        for (;;) {
            i++;
            System.out.println("跟一一哥學(xué)java,i=" + i);
        }
    }
}

我們一定要注意,如果是第三種簡寫形式,把①/②/④都簡寫了,就會成為死循環(huán),本段程序會一直不停地打印下去。此時我們可以點擊控制臺的”紅色“按鈕停止程序的運行,如下圖所示。

三. 結(jié)語

至此,就把Java里的for循環(huán)講解完畢了?,F(xiàn)在你知道for循環(huán)是怎么回事了嗎?

以上就是關(guān)于Java for循環(huán)的正確用法介紹的詳細(xì)內(nèi)容,更多關(guān)于Java for循環(huán)的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Java并發(fā)編程之死鎖相關(guān)知識整理

    Java并發(fā)編程之死鎖相關(guān)知識整理

    前篇文章在講解線程安全的時候,有提到過為了保證每個線程都能正常執(zhí)行共享資源操作,Java引入了鎖機(jī)制,雖然這樣使多線程改善了系統(tǒng)的處理能力,然而也帶來了新的問題,其中之一:死鎖,需要的朋友可以參考下
    2021-06-06
  • java.lang.UnsupportedOperationException分析及解決辦法

    java.lang.UnsupportedOperationException分析及解決辦法

    日常開發(fā)中我遇到j(luò)ava.lang.UnsupportedOperationException:異常兩次了,下面這篇文章主要給對大家介紹了關(guān)于java.lang.UnsupportedOperationException分析及解決辦法,需要的朋友可以參考下
    2024-03-03
  • Spring Boot 整合原生 WebSocket的實際操作

    Spring Boot 整合原生 WebSocket的實際操作

    文章介紹了WebSocket協(xié)議的基本概念、特點及在Spring Boot中的整合步驟,通過示例代碼和實際操作,展示了如何配置WebSocket處理器、握手?jǐn)r截器、會話管理和服務(wù)類,感興趣的朋友跟隨小編一起看看吧
    2026-01-01
  • Java中遍歷Map的多種方法示例及優(yōu)缺點總結(jié)

    Java中遍歷Map的多種方法示例及優(yōu)缺點總結(jié)

    在java中遍歷Map有不少的方法,下面這篇文章主要給大家介紹了關(guān)于Java中遍歷Map的多種方法,以及各種方法的優(yōu)缺點總結(jié),文中通過示例代碼介紹的非常詳細(xì),對大家具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起看看吧。
    2017-07-07
  • 如何通過try-catch判斷數(shù)據(jù)庫唯一鍵字段是否重復(fù)

    如何通過try-catch判斷數(shù)據(jù)庫唯一鍵字段是否重復(fù)

    在MyBatis+MySQL中,通過try-catch捕獲唯一約束異??杀苊庵貜?fù)數(shù)據(jù)查詢,優(yōu)點是減少數(shù)據(jù)庫交互、提升并發(fā)安全,缺點是異常處理開銷較高,適用于數(shù)據(jù)重復(fù)較少的場景,本文給大家介紹如何通過try-catch判斷數(shù)據(jù)庫唯一鍵字段是否重復(fù),感興趣的朋友一起看看吧
    2025-08-08
  • Java實現(xiàn)指定線程執(zhí)行順序的三種方式示例

    Java實現(xiàn)指定線程執(zhí)行順序的三種方式示例

    這篇文章主要介紹了Java實現(xiàn)指定線程執(zhí)行順序的三種方式,包括通過共享對象鎖加上可見變量,通過主線程Join()以及通過線程執(zhí)行時Join()等三種實現(xiàn)方法,需要的朋友可以參考下
    2019-01-01
  • Java中的動態(tài)和靜態(tài)編譯實例詳解

    Java中的動態(tài)和靜態(tài)編譯實例詳解

    這篇文章主要介紹了Java中的動態(tài)和靜態(tài)編譯實例詳解的相關(guān)資料,需要的朋友可以參考下
    2017-04-04
  • java通過PDF模板填寫PDF表單

    java通過PDF模板填寫PDF表單

    這篇文章主要為大家詳細(xì)介紹了java通過PDF模板填寫PDF表單,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-10-10
  • Mybatis接口Mapper內(nèi)的方法為啥不能重載嗎

    Mybatis接口Mapper內(nèi)的方法為啥不能重載嗎

    這篇文章主要介紹了Mybatis接口Mapper內(nèi)的方法為啥不能重載嗎,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-09-09
  • Java利用多線程模擬銀行系統(tǒng)存錢問題

    Java利用多線程模擬銀行系統(tǒng)存錢問題

    本文將利用Java多線程模擬銀行系統(tǒng)存錢問題:使用兩個不同的線程向同一個賬戶存錢。文中的示例代碼講解詳細(xì),感興趣的可以了解一下
    2022-08-08

最新評論

和平县| 丹寨县| 东阿县| 手机| 永丰县| 昭平县| 托克逊县| 三台县| 波密县| 岐山县| 台南市| 泾阳县| 庆阳市| 新竹县| 株洲市| 潍坊市| 通化县| 镇沅| 藁城市| 清镇市| 武夷山市| 常熟市| 拜城县| 田阳县| 正蓝旗| 黔江区| 河北省| 灵璧县| 清远市| 塔城市| 东宁县| 成都市| 澜沧| 阳山县| 延川县| 寿光市| 若尔盖县| 永泰县| 稻城县| 昔阳县| 丽水市|