循環語句可以在滿足循環條件的情況下,反復執行某一段代碼,這段被重復執行的代碼被稱為循環體語句,當反復執行這個循環體時,需要在合適的時候把循環判斷條件修改為false,從而結束循環,否則循環將一直執行下去,形成死循環。
for循環
語句格式:
for(初始化表達式①; 布爾表達式②; 步進表達式④){ 循環體③ }
步進表達式:改變循環條件的表達式
執行流程:
執行順序:①②③④>②③④>②③④…②不滿足為止。
①負責完成循環變量初始化
②負責判斷是否滿足循環條件,不滿足則跳出循環
③具體執行的語句
④循環后,循環條件所涉及變量的變化情況
例子:
使用循環,計算1-100之間的偶數和
public static void main(String[] args) { //1.定義一個初始化變量,記錄累加求和,初始值為0 int sum = 0; //2.利用for循環獲取1‐100之間的數字 for (int i = 1; i <= 100; i++) { //3.判斷獲取的數組是奇數還是偶數 if(i % 2==0){ //4.如果是偶數就累加求和 sum += i; } } //5.循環結束之后,打印累加結果 System.out.println("sum:"+sum); }
注意:for循環的變量只能在循環里面用,出了循環就不能使用
while循環
語句格式:
初始化表達式① while(布爾表達式②){ 循環體③ 步進表達式④ }
執行流程:
執行順序:①②③④>②③④>②③④…②不滿足為止。
①負責完成循環變量初始化。
②負責判斷是否滿足循環條件,不滿足則跳出循環。
③具體執行的語句。
④循環后,循環變量的變化情況
例子:
while循環計算1-100之間的和
public static void main(String[] args) { //使用while循環實現 //定義一個變量,記錄累加求和 int sum = 0; //定義初始化表達式 int i = 1; //使用while循環讓初始化表達式的值變化 while(i<=100){ //累加求和 sum += i ; //步進表達式改變變量的值 i++; } //打印求和的變量 System.out.println("1‐100的和是:"+sum); }
for 和 while 的小區別
控制條件語句所控制的那個變量,在for循環結束后,就不能再被訪問到了,
而while循環結束還可以繼續使用,如果你想繼續使用,就用while,否則推薦使用for。
原因是for循環結束,該變量就從內存中消失,能夠提高內存的使用效率。
在已知循環次數的時候使用推薦使用for,循環次數未知的時推薦使用while。
do …… while循環
語句格式:
初始化表達式① do{ 循環體③ 步進表達式④ }while(布爾表達式②);
執行流程:
執行順序:①③④>②③④>②③④…②不滿足為止。
①負責完成循環變量初始化。
②負責判斷是否滿足循環條件,不滿足則跳出循環。
③具體執行的語句
④循環后,循環變量的變化情況
注意:
do...while循環的特點:無條件執行一次循環體,即使我們將循環條件直接寫成false,也依然會循環一次。這樣的循環具有一定的風險性,因此初學者不建議使用do...while循環。