Java 迴圈表達的方式共有 while,do-while,for,for-each。
以下列出撰寫迴圈需要注意的原則。
1.迴圈的種類可以分為以下幾種:
計次循環:循環次數固定。
連續求值循環:預先不知道循環次數,會在每次循環檢查中止條件。
無限循環:不會停止的循環。
迭代器循環:對容器每個元素進行操作。
2.通用性:
1.迴圈內使用的變數相關初始化動作盡量靠近迴圈前方。
2.使用while(true) or for(;;) 代表無限循環。
3.在適當的情況多使用for 迴圈,for好處在於所有的判斷條件都寫在頂端。
4.使用{}包括循環體。
5.避免空循環。
6.把控制循環操作(如i++)放在循環的開始或是循環的結束而不是放在中間。
7.避免依賴循環結束後再對循環下標取值的動作。
8.對於容易出錯的迴圈考慮使用安全計數器。
9.了解continue用途。
10.小心巢狀區塊中break的退出範圍。
11.小心有很多break的循環。
12.不要使用浮點數來代表循環變量。
13.在巢狀循環使用有意義的下標名取代i e.g. i → xxxIndex
14.迴圈深度不要超過2層。
2.while迴圈:
1.只知道中止條件但預先不知道循環要多少次結束就使用while迴圈。
2.while迴圈依照中止條件可分為3種。
1.在開頭檢查中止條件為while迴圈,e.g.
while(condition){ //do action }
2.在結尾檢查中止條件為do-while迴圈,e.g.
do{ //do action } while(condition)
3.在中間檢查結束條件為while迴圈但中止條件在中間,使用中間檢查結束條件注意兩點,
1.檢查條件集中同一個位置。
2.考慮使用註解說明退出條件。e.g.
while(true){ //do action if(condition){ break; } //do action }
3.while迴圈適合複雜的情況。
3.for迴圈:
1.如果需要次數固定的循環就使用for迴圈。
2.如果在迴圈中必須存在結束條件就盡量改用while迴圈。
3.不要在for迴圈中修改下標值使其終止,如果需要修改下標值,改用while。
4.for迴圈適合簡單的情況。
4. for-each迴圈:
1.適合用於數組或容器的各項元素操作。
2.優點為消除循環控制索引出錯的可能性。