博客 / 詳情

返回

for循環使用方法

一. 循環結構

1.概念

在學習Java裏的循環之前,我們先來了解一下到底什麼是循環,以及循環的作用。我們先來看下面這張圖:
image.png

大家想一下,我們在400米的跑道上參加萬米長跑,正常情況下要跑25圈,這25圈每一圈的跑步過程其實都是一樣的,相當於是我們重複地轉了25圈。跑完第25圈時,我們就會結束長跑,當然你也可以提前結束長跑。但如果你是一個超人,跑完25圈之後還繼續跑下去,直到天荒地老,這就成了一個”死循環“了。

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

2.實現方式

明確了循環的概念之後,我們還要知道有哪幾種具體的循環實現方式。在Java中,實現循環的方式有:

for循環;

while循環;

do-while循環;

foreach循環

接下來壹哥分別針對這幾種實現方式,結合代碼案例教會大家怎麼進行循環操作。

二. for循環
首先我們來學習一下Java裏的for循環,這也是我們開發時最常用的一種循環形式。

1.語法

for循環的基本語法如下:

<code class="language-plaintext hljs">for(①.聲明並初始化循環變量;②.判斷循環條件;④.改變循環變量值){ 
   
    //③.循環體
}
</code>

語法説明:

  1. for循環最先執行初始化步驟。在這裏可以聲明一種類型,但可以初始化一個或多個循環控制變量,也可以是空語句;
  2. 判斷循環條件,檢測布爾表達式的值。如果為 true,循環體被執行。如果為false,循環終止,開始執行循環體後面的語句。且for循環的執行次數在執行前就已經是確定的。
  3. 執行一次循環後,就會更新一次循環控制變量的值;
  4. 再次檢測布爾表達式,循環執行上面的過程。

2.執行流程

根據上面的for循環語法,壹哥把for循環的執行流程給大家做個詳細的解釋:

  1. 首先我們要在第①步聲明並初始化一個變量,該操作在循環中只會執行一次;
  2. 每次循環之前,在第②步判斷循環條件是否成立,只有當條件為true才會執行,如果條件為false則結束循環;
  3. 每次循環時,都會在③中執行循環體內的代碼;
  4. 每次循環結束後,會自動執行第④部分,改變變量的初始值;
  5. for循環中①、②、④部分都可以省略不寫,但必須存在兩個”分號;“,也可以只寫一部分;
  6. 我們聲明變量類型時,不一定非得是int,最後改變初始值也不一定非得是++;
  7. for循環中支持嵌套循環。

根據上面的步驟,壹哥把重點步驟給大家總結如下:

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

如下圖所示:
image.png

3.基本案例

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

3.1 案例一

需求:循環輸出100遍 ”跟一一哥學java“

<code class="language-plaintext hljs">public class Demo02 {

    public static void main(String[] args) {
        //for循環,這裏的i就是一個局部變量
        for( int i=0;  i<100;  i++) {
            
            System.out.println("跟一一哥學java,i="+i);
        }
    }

}
</code>

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

3.2 案例二

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

<code class="language-plaintext hljs">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);
    }

}</code>
  1. 循環嵌套

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

4.1 案例一

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

<code class="language-plaintext hljs">public class Demo02 {

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

}</code>

效果如下圖所示:
image.png

4.2 案例二

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

<code class="language-plaintext hljs">public class Demo02 {

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

}</code>

效果如下圖所示:
image.png

  1. 幾種變形寫法

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

5.1 定義多個初始化變量

我們先來回顧一下for循環的基本語法:

<code class="language-plaintext hljs">for(①.聲明並初始化循環變量;②.判斷循環條件;④.改變循環變量值){ 
   
    //③.循環體
}</code>

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

<code class="language-plaintext hljs">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("跟一一哥學java,i=" + i+",j="+j);
        }
    }

}
</code>

5.2 簡寫形式

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

<code class="language-plaintext hljs">public class Demo02 {

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

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

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

}
</code>

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

user avatar
0 位用戶收藏了這個故事!

發佈 評論

Some HTML is okay.