Java初學者:while循環

上次咱們說過了for循環,簡單來講,for循環通常適用於控制某些操做執行次數。可是實際上,咱們在處理實際問題是,時常會遇到另一種須要用到循環的狀況:那就是說,當某種條件成立時,咱們執行某些操做。好比:當天上下雨的時候,我就一直在家睡覺;當我以爲無聊的時候,我就一直看蠟筆小新;等等等等,諸如此類。那麼,在java中該如何表現這種循環呢,這就是咱們今天要說的while循環了。while循環在java裏的格式是這樣的:java

    初始化某種條件(大多數時候)正則表達式

    while(某種條件成立)小程序

    {函數

        執行某些操做;blog

        改變while裏面的那個條件;(大多素時候須要改變,但也有一些時候不用改變)字符串

    }input

 以上就是while循環了,爲了更好的說明問題,咱們來作個讓用戶輸入的小程序,這個小程序中,只要用戶輸入yes, 那麼java就會一直打印出"Hello baby",而後java會提示用戶繼續輸入內容,只要用戶輸入的再也不是yes, 那麼就跳出while循環。以下所示:  編譯器

 

 

咱們看的出來,當咱們輸入yes的時候,無論大小寫,都會打印出Hello baby, 這是由於equalsIgnoreCase函數的緣由,是忽略大當心的比較。當咱們輸入的不是yes的時候,就會跳出while循環,繼續while以後的程序運行。while循環的運行順序是這樣的:for循環

1. 首先檢查while裏面的條件,若是是true,則進入while下面的花括號,執行裏面的操做。若是是false,則直接跳過while循環,繼續運行後面的程序。編譯

2. 若是進入了while循環,那麼操做完之後,則返回到while後面的圓括號,檢查那個條件是否爲true, 是的話執行花括號裏面的操做,不是的話跳出循環繼續後面的程序。

3. 重複第二步,直到跳出while循環。

    動態的改變while後面的斷定條件是很重要的,若是在while循環的花括號裏沒有改變斷定條件,那麼有可能致使while循環永遠的執行下去,也就是傳說中的死循環,咱們之後能夠解釋一下,可是目前就告訴你,死循環就是不斷的沒有終止的循環。咱們來看一下下面的程序,咱們只要把上面的程序略微改動就能夠了,就是以下的代碼:

 

 

你看,一直在打印Hello baby,沒完沒了的。若是遇到這種狀況也不要着急,直接Ctrl + C就能夠強制退出程序了。

    死循環是很差的,是因爲邏輯錯誤而產生的,也就是logical error,這種錯誤是人爲的,java編譯器沒法檢測出來。java編譯器只能檢測出syntax error,也就是書寫的語法錯誤。

    那麼,是否是while循環裏就必定要改變while的斷定條件呢?其實這不是絕對的。由於實際上,咱們可使用break強制跳出循環,或者若是while是在一個函數裏,那麼咱們也可使用return跳出函數,固然,也就跳出了while循環。然而做爲初學者,目前先不要太在乎這個,若是有興趣能夠去看看。continue, break咱們之後會說到,return則要等到解釋函數的時候再說了。

    最後,咱們來用while循環來作一個input checking,來結束本次的課程。input checking就是輸入檢測,就是說若是用戶輸入的數據不符合程序要求的時候,程序將要求用戶從新輸入,直到用戶輸入適合的數據。咱們此次讓用戶輸入一個表示浮點型數據的字符串,而後使用String的matches方法和正則表達式來判斷用戶的輸入是不是一個數字,若是不是則一直淪陷在while循環裏,若是是,則跳出while循環,計算並顯示出sin(x)的值,程序以及運行結果以下:

 

能夠看出,while循環用來檢測用戶的輸入,是一個很好的辦法,這能夠算是while循環的一種應用。雖然while循環還有不少能夠說的,可是怕說的雜亂無章,又或扯的太遠,因此今天就先到這裏吧,下次咱們還要繼續說說循環,由於循環在任何計算機語言裏都是很重要的,固然也包括java。

相關文章
相關標籤/搜索