當 for 語言中條件表達式 3 為空時,也就沒有設置控制變量的表達式,即每次循環之后無法改變變量的值,此時也無法保證循環正常結束。
同樣是計算1~100 所有奇數的和,使用這種方式的代碼如下:
如果沒有循環體語句,number 變量的值為 1,永遠小于 101,因此將無法結束循環,形成無限循環。在上面代碼中將 number 的遞增語句放在 for 循環體內,效果與完整 for 語句功能相同。
在 for 循環語句中,無論缺少哪部分條件表達式,都可以在程序的其他位置補充,從而保持 for 循環語句的完整性,使循環正常進行。
當 for 語句中循環體全為空時,即沒有循環初值,不判斷循環條件,循環變量不增值,此時無條件執行循環體,形成無限循環或者死循環。對于這種情況,讀者在使用時應該盡量避免。
例如,計算 1~100 所有奇數的和,使用這種方式的代碼如下:
例 1
編寫一個 Java 程序,統計某超市上半年的總銷售量,要求由用戶輸入每月的銷量。使用 for 循環的實現代碼如下。
在該程序中, 聲明循環變量 i,控制循環的次數,它被初始化為 1。每執行一次循環,都要對 i 進行判斷,看其值是否小于等于 6,條件成立則繼續累加成績,否則退出循環。
每執行完一次循環體,都會對 i 累加 1。如此循環重復,直到 i 的值大于 6 時停止循環。此時退出 for 循環體,執行最下方的語句輸出累加的銷售總量。
運行程序,執行結果如下所示。
一般選擇循環變量時,習慣選擇 i、j、k 來作為循環變量。