while循環的一般語法是:
while( 表達式 )
語句;
其中,表達式是循環條件,語句為循環體。while語句的語義是:計算表達式的值,當值為真(非0)時,執行循環體語句,一旦條件為假,就停止執行循環體。如果條件在開始時就為假,則不執行循環體語句直接退出循環。
循環體語句可以是空語句、單條語句或語句集。如果是語句集,則要用「{」和「}」把它們括起來。條件可以是任何表達式。
示例1:實現輸出從1—10分別乘以10所得的乘法表。
在D盤Java目錄下,新建「LoopSample1.java」文件。用記事本打開「LoopSample1.java」文件,輸入以下代碼:
代碼結構分析
程序功能主要是演示while循環語句的使用。
程序聲明了兩個int類型的變量num和result,分別用來存儲數字和乘積。然後,將num初始化為1,因為打算在while循環中從1開始執行乘法運算,求出1—10的數字與10的乘積,因此將while循環的條件編寫為num<=10。這樣確保了只要num小於等於10,就執行while循環;而當此條件變為假時,即num的值達到11時,就結束此循環。循環體中的第一個語句用num乘以10,將計算結果保存在變量result中。第二個語句輸出乘法表,循環體中的最後一個語句將num的值遞增1,來修改num的值。此處使用了單目自增運算符++,也可以編寫為num=num+1,來替代num++。
程序中的num++非常重要,這條語句通過修改num的值來修改循環條件,直到num的值等於11,循環條件為假時退出循環。也就是說,循環條件中的變量,需要在循環中重新賦值,以逐漸改變循環條件的值,直到循環條件為假;否則循環將永遠不會停止,這種循環稱為「死循環」或者「無限循環」。
編譯「LoopSample1.java」文件,在命令行窗口輸入「javac LoopSample1.java」並執行命令,編譯通過後,在命令行窗口輸入「java LoopSample1」運行Java程序,命令行窗口顯示如下信息:
示例2:無限循環
在D盤Java目錄下,新建「LoopSample2.java」文件。用記事本打開「LoopSample2.java」文件,輸入以下代碼:
代碼結構分析
程序功能主要是演示在while循環語句中,由於缺乏改變條件的語句而導致出現無限循環的問題。
程序中while循環體內沒有修改循環變量count的值,導致循環條件一直為真,造成了無限循環。
編譯「LoopSample2.java」文件,在命令行窗口輸入「javac LoopSample2.java」並執行命令,編譯通過後,在命令行窗口輸入「java LoopSample2」運行Java程序,命令行窗口顯示如下信息:
另外,假如編寫了以下while循環語句:
while( 1 )
其中,條件僅僅是一個數值常量1,由於在Java語言中,規定所有的非0值都表示真。因此,它實際上相當於while(true),而且這個循環條件沒有辦法在循環體內修改,這樣會導致無限循環。可以使用break語句強行跳出循環,這個語句將在後面介紹。
如果循環條件中包含多個條件表達式的組合,這時需要檢查整個條件表達式的值。如果整個條件表達式的值為假,即使其中某個子條件表達式為真,循環也會結束。
示例3:編寫一個程序,要求從攝氏度0度到250度,每隔20度為一項,輸出一個攝氏溫度與華氏溫度的對照表,同時要求對照表中的條目不超過10條。
在D盤Java目錄下,新建「LoopSample3.java」文件。用記事本打開「LoopSample3.java」文件,輸入以下代碼:
代碼結構分析
程序功能主要是演示while循環語句的使用。
程序中的循環將執行10次,雖然溫度只顯示到180,但是由於對照表中條目已經滿10條,即count<10變為假,從而導致循環結束。
編譯「LoopSample3.java」文件,在命令行窗口輸入「javac LoopSample3.java」並執行命令,編譯通過後,在命令行窗口輸入「java LoopSample3」運行Java程序,命令行窗口顯示如下信息:
示例4:編寫一個程序,用於從控制臺接收字符串輸入,並將結果輸出到屏幕上,當用戶輸入「quit」時,程序結束。
在D盤Java目錄下,新建「LoopSample4.java」文件。用記事本打開「LoopSample4.java」文件,輸入以下代碼:
代碼結構分析
程序功能主要是演示while循環語句的使用。
程序中循環變量str是通過sc.next()獲取用戶輸入來修改的,用戶每次輸入字符串相當於為str重新賦值,直到用戶輸入quit字符串時,循環條件變為假,程序退出循環。
編譯「LoopSample4.java」文件,在命令行窗口輸入「javac LoopSample4.java」並執行命令,編譯通過後,在命令行窗口輸入「java LoopSample4」運行Java程序,命令行窗口顯示如下信息:
循環結構是程序中一種很重要的結構,其特點是,在給定條件成立時,重複執行某程序段,直到條件不成立為止。給定的條件為循環條件,反覆執行的程序段稱為循環體,循環條件必須要在循環體中改變,否則可能會出現無限循環的結果。
編寫一個程序,計算1到100之間的整數和。