從0學Java之Do-While循環
我們講了while循環,它會首先判斷一個條件是否滿足,如果條件滿足,則執行后面緊跟著的語句或語句括號,然后再次判斷條件是否滿足,如果條件滿足則再次執行,直到條件不滿足為止。后面緊跟的語句或語句括號,就是循環體。
do-while循環和while循環很像,唯一的區別是我們在循環體執行結束的時候才來判斷條件。也就是說,無論如何,循環都會執行至少一遍,然后再來判斷條件。與while循環相同的是,條件滿足時執行循環,條件不滿足時結束循環。
①do-while循環
案例:數位數,如果給你一串數字,讓你通過編程,讓計算機判斷出這一串數字是幾位數,你打算怎么寫?
- 程序要讀入一個正整數,然后輸出這個整數的位數。如:
- 輸入:3452,輸出:4
人看一眼就能看出來,這是4位數,但計算機是通過判斷數的范圍來決定它的位數,但如果是128475753943828482.....讓人數怎么辦,這時候就得依靠計算機,因為計算機最擅長的就是做算法,讓這串數字每除以10就記一位,這樣是不是就可以,讓我們試一下。


這么看好像完全沒有問題,但往往沒有問題的時候就會出現問題,如果是這一串數字是0呢,大家在這個代碼上試一下。

代碼運行起來會顯示0,這顯然是不對的,0的位數是1,那如果用do-while循環是不是就可以把問題解決掉,在進入循環體之前不做判斷,而是在執行完一輪循環體的代碼之后,再來檢查循環的條件是否滿足,如果滿足則繼續下一輪循環,不滿足則結束循環。

ok,現在輸入0顯示的位數是1,說明是對的,那再測試一下其他數。

我做了while循環和do-while循環,兩個流程圖讓他們更加明朗一點。

































