迴圈 迴圈基本觀念 while迴圈 do 迴圈 for迴圈 巢狀迴圈 迴圈設計注意事項 其他控制指令 迴圈與選擇的組合
迴圈基本觀念 迴圈是用來重複執行一段特定的程式,直到某 條件滿足為止。 Count=0; while (Count<100) { /*****處理工作****/ Count=Count+1; } True Count<100? 處理運算 Count=Count+1 False
while迴圈 while (條件運算式) statement; while (條件運算式) { statements; } 條件運算式成立的時候執行指令。 運算式 True 處理運算 False Count=0; while (Count<100) { /*****處理工作****/ Count=Count+1; } 參考 demo10.java
do迴圈 do { statement; } while (條件運算式); 參考 demo11.java True Count=0; do 處理運算 運算式 True Count=0; do { /*****處理工作****/ Count=Count+1; } while (Count<100); False 參考 demo11.java
for迴圈 for迴圈可以準確的計算出迴圈的重複次數。 for (設定初始值; 條件運算式; 增值) statement; count=0; for (i=0; i<=100; i=i+1) count=count+1; 課堂作業: 利用while迴圈計算2+4+6...+n的和(n是偶數) 利用for迴圈計算1+3+5...+n的和(n是奇數) 實習作業: 計算1+1/2+1/3+....+1/n的結果 計算1-22+32-42+....+n2的結果 參考 demo12.java
巢狀迴圈 可以在迴圈內部包含迴圈的指令,執行時由最內 部的迴圈先執行,然後才執行外部的迴圈。 例:99乘法表,印出 課堂練習:印出 課堂作業:計算1!+2!+...+n! 的總和 實習練習:計算 1/1!+1/2!+1/3!+...+1/n! 1 22 333 4444 55555 1 22 333 4444 55555 參考 demo13.java
迴圈設計注意事項 各個變數初始值的設定 確定迴圈跳出條件是否能滿足?避免無窮迴圈 「=」與「==」的誤用 善用System.out.println()列印出迴圈中間值 來除錯
其他控制指令 break:跳出迴圈。 continue:直接跳到迴圈判斷處。 課堂練習:一條線3000公分 ,每天減去一半的長度,幾天之 while(true) { if (i==3) break; else i=i+1; } continue:直接跳到迴圈判斷處。 while(i<10) { i=i+1; if (i%3==0) continue; System.out.println("i=",+i); 課堂練習:一條線3000公分 ,每天減去一半的長度,幾天之 後線的長度短於5公分 實習作業:丟骰子累計數目, 看幾次超過100點 計算梯型面積>1000跳出 參考demo14 15
選擇與迴圈的組合 利用電腦的快速運算,我們無須尋找精確的解 題方法,而可以直接將選擇與迴圈組合起來,暴 力算出解答 質數判斷、因數分解、密碼破解 例題: 計算最大公因數 印出1到輸入值之間所有可以被16整除的數 由使用者輸入一個整數,此數如果是偶數就將 之除以2,如果是奇數就將之*3+1,最後此數 會收斂在1,請寫程式驗證這個過程。
作業 課堂作業: 由鍵盤輸入一個數字,列出該數之所有因數 由鍵盤輸入一個數字,印出1到該數字間,可 以被7整除但不能被3整除的數值 實習作業: 找出小於某整數之所有質數 讀入一個12位數的長整數,利用switch計算 0-9這10個數字,每一個數字出現的次數 假設錢幣種類有 1000,500,100,50,10,5,1元,請計算你拿 1000元購買N元的東西,店員應找回各種錢幣 幾張(張數儘量少)