簡單理解Java中的4種迴圈

JavaEE-Goodehua發表於2018-06-08

4種迴圈:只建議剛剛學java迴圈,一下理解不了迴圈是什麼鬼的人們看。
1.while迴圈;

while(條件表示式)

                    {

                               語句塊;

                     }

這裡語句塊你隨意寫,開心就好。條件表示式剛剛上課或者自學的都會想到這是個什麼鬼,別說讓我理解迴圈了。這條件表示式都沒理解明白。

條件表示式就是裡面的一個條件。就像人跟人談條件是一樣的。眾所周知while迴圈是先進行判斷在迴圈的。

比如你定義2個變數int a=2;int b=3;

條件表示式裡你寫b==a.這是錯的,也就是為假的了。條件不成立。while就會跟你說拜拜。不會迴圈。

條件表示式寫a<b;這是對的啊。條件成立了啊。while看見條件成立了,它就開始工作了。就跟你找工作,你要1萬rmb一個月,老闆不給你就不理他,他給你一萬你努力幹是一樣的。語句塊就是你要乾的活。

int a=0;

while(a<10)

                    {

                               System.out.println(a);

                                      a++;

                     }

這個你看嘛,a是不是小於10.條件成立,立馬迴圈。但是後面的a++;又是什麼鬼,

這個a++;叫自增。你可以理解為a=a+1;

條件是a<10才會停止迴圈,所有迴圈10就停了。列印結果就是0到9。


2.do{
}while();迴圈呢

這個又是什麼鬼,它是先無條件的迴圈一次,在判斷一下。就好比你登qq一樣,輸入密碼。騰訊公司的程式先讀進去在去判斷你的密碼是否正確是一樣的道理。

                     do

                    {

                               語句塊;

                    }while(布林表示式);

這個布林表示式就是上面那個條件表示式是一個道理,但是這裡只能是真或者假。也就是true和false。但是有時候看見別人寫的不是這2個玩意啊。沒錯,這個疑問是正確的。因為我們可以在do上面定義一個Boolean類的變數;比如boolean f=false;

這樣你就可以在while的括號裡寫f。因為f代表false蠻。語句塊也是你隨意寫。但是語句塊裡寫分支語句的話。

得到你想的結果你想停止迴圈。可以寫f=false;因為布林表示式哪裡是假啊。一模一樣的有沒有。所以停了,記得加一個break;

得到的結果不理想還想要繼續迴圈就寫f=true。do while看見跟我這條件不一樣啊,那麼while就繼續迴圈。

你懂的,條件不成立就結束,不然繼續迴圈。


int a=6;//自己愛定義多大定義多大

int b=9;

boolean f=false;

 do

                    {

                               if(a=b){

                                   System.out.println("a和b一樣") ;

                                        f=false;

                                         break;

                                   }else{

                                      System.out.println("a和b不一樣");

                                         f=true;

                                        }

                    }while(f);

注意:例子程式碼因為不全,當走else裡去了的話,就是死迴圈了。參考補全,加強動手能力。

提示:a可以控制檯輸入,這樣就不是死迴圈了

或者你在語句塊不想要這東西,那就寫一個continue跳過去就好了。

whiledo…while唯一區別就是不管布林表示式返回truefalsedo…while迴圈體至少都會執行一次。

3.for();迴圈

for(初始式;判斷式;遞增式)

                    {

                               語句塊;

                     }

初始值就是開始的地方,判斷式難道還不理解嗎。就是上面那個條件表示的節奏。遞增式就跟上面的a++;是一個玩意

來寫一個例子

for(int i=0;i<10;i++

                    {

             System.out.println("我愛java");

                     }

列印結果就是10句system裡面的話。

好好理解,學到for迴圈,這個i就是你親戚了,用的多。不知道java的前輩們為什麼都喜歡用它,

來分析for括號裡的東西,開整

這個int i=0;就是定義一個變數為0啊。然後為什麼i<10怎麼不寫int了呢。這個嘛。因為前面已經定義為int型別的啦。

所以這個條件就是迴圈跟while迴圈裡那個事是一樣的。就是當i不小於0就結束迴圈,這個i++;就是迴圈一次就給前面的int i=0;哪裡加1啊。所以你想第一次前面的i是0,第二次迴圈回來就是1了啊。迴圈到第11次就是10。這樣條件就不成立,所以前面只會迴圈10次。因為從0開始到9正好10次。另外還有for迴圈裡面還寫的for迴圈,這個就是外面的for迴圈一次,裡面的for需要迴圈到結束。

下面來一個二重迴圈做的東西

public static void main(String[] args) {
for(int i=1;i<=9;i++){
for(int j=1;j<=i;j++){
System.out.print( j+"*"+i+"="  +i*j+" \t");
}
System.out.println();
}
}
}

你剛剛學可能看不懂,這個列印結果就是小學二年級學的九九乘法表。這個就是外面迴圈第一次,裡面需要迴圈到結束。外面迴圈第二次,裡面又要迴圈一次。

理解程式碼最好自己動手打,千萬別死記程式碼。要跟學太極一樣,忘招忘形。java記得東西不多。有些東西做做筆記就好了。要會查資料。查的時候要快準狠。


4.for each();迴圈
這個學到陣列和集合框架的時候才會用到。現在知道有這個就好,先掌握上面3種。

相關文章