[Java]迴圈

迴圈是在任何程式語言上都很常見的一種語法,主要在處理重覆的事情,例如:1加到55之類的,或著需重覆做n次的事件,而Java的迴圈一共分成三種方法,一種是for、一種是while另一種是do while迴圈,在什麼時候使用那一種迴圈並沒有一定,大概可分為for:基本型態的遞增減,while:物件下一個或上一個,do while:跟while一樣,只差是先執行而後判斷,以下是比較詳細的說明:

for

當需要某一個變數從A數到B數時,就很常利用for來執行

用法:

for(初始化變數;判斷跳出的條件;增值)

敘述句

其中初始變數、判斷句跟增值都不一定要寫在for後面,下面的範例就把幾種用法帶出來了

        int i = 0 ; 
        for(;i<5;i++)
            System.out.print(i+",");
        //答案:0,1,2,3,4,
        
        for(int x=0;x<3;x++)
            System.out.print(x+",");
        //答案:0,1,2,
        
        int y=0;//初始
        for(;;)
        {
            if(y>3)//判斷
                break;
            System.out.print(y++);
            y++;//繼續
        }
        //答案0,1,2

while

這個迴圈很常用在判斷物件是否有下一筆或上一筆資料,但也可以執行如for迴圈所做的事,底下直接用範例來說明。

用法:

while(判斷式為真)

敘述句

範例:

        int a = 0;
        while(a<3)//為true時才執行下面
        {
            System.out.print(a+",");
            a++;
        }
        //答案:0,1,2

do while

這其實跟while是一樣的,只是差別在,do while是先做一次,再判斷是否執行下一次。

用法:

do

敘述句

}while(判斷式為真)

範例:

        int z = 3 ; 
        while(z<3)
        {
            System.out.print(z+",");
            z++;
        }
        //答案:
        
        int g = 3 ; 
        do
        {
            System.out.print(g+",");
            g++;
        }while(g<3);
        //答案:3

可以很清楚的看出來while沒執行,可是do while做了一次。

15 thoughts to “[Java]迴圈”

  1. 話說…
    這是你自己架的blog嗎?
    我剛剛用站內搜尋了一下
    好像沒發現你說要我看的那篇@@”
    PS.跑的速度有點慢orz…

  2. 自動引用通知: [Java]迴圈中斷及繼續
  3. 您好!!我是剛在學java程式由於老師上的回圈聽不太董何老師出了個設一個真跟假的題目用if和for去設帳號密碼可是我連if和for的工式都搞不懂幸好看到大大的部落格真棒!感覺看到救星懇請幫幫忙吧!
    PS:你的部落格程式教學都很棒只是無奈剛入門很多都看不懂只董一些!!

  4. while的範例
    int a =3
    應該就不會進去
    while(a<3)了吧
    是要改成 int a=0嗎?!

    1. @魷魚,
      我只是想表達第一個while沒執行
      而第二個才執行..下方有說明

      1. 他說的範例是while的
        int a = 3;
        while(a<3)//為true時才執行下面
        {
        System.out.print(a+",");
        a++;
        }
        //答案:0,1,2

        備註的地方有筆誤

        你說的地方是do~while的

  5. 請問
    我想用 do while 判斷大於小於

    可以把 if的判斷式
    放進 do { } 裡面嗎?

    因為會一直無窮迴圈…
    所以想請問一下

  6. 第二個範例while
    結果應該是
    「//答案:」吧?
    要不然就跟第三個範例的while有衝突了!

  7. 您好,我是新手,所以想請教看完的問題
    1.
    while
    範例答案 7. //答案:0,1,2
    因輸出是print(a+”,”)
    答案是否是0,1,2,
    2.
    do while
    問題同上,答案是否是3,

如雲 發表迴響取消回覆