1 2 3 4 5 6 7 8 9 10 11 12 13 | public class CH0901 { public static void main(String[] args) { int i = 1 ; while (i <= 10 ) { System.out.println( "第" + i + "行" ); i++; } } } |
首先定義了「int」變數「i」從1開始,「while」條件「i小於等於10」。
重複執行的程式碼區塊先印出數字,然後將變數「i」遞增1。
直到「while」條件「i小於等於10」不成立,也就是「i」已遞增到了11的情況發生時結束迴圈。
需要「即時判斷」或是「未知次數」的重複工作,應該要建立要以「while」迴圈來處理的基本概念。如即時鍵盤輸入、尋找資料等。在設計時要注意,預期是要能成功結束或是有其它條件能介入中斷的。若設計時沒注意到這種問題,會造成無限迴圈浪費JVM的資源。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class CH0902 { public static void main(String args[]) throws IOException { BufferedReader buf = new BufferedReader( new InputStreamReader(System.in)); int num= 0 ; while (num< 10 ) { System.out.print( "請輸入一個大於10的數字:" ); num=Integer.parseInt(buf.readLine()); } System.out.println( "你輸入的數字是 " +num); } } |
首先定義了「num」變數的預設值為「0」,「while」條件「num小於10」時的重複工作。
第1次執行因參考預設值「0」條件成立使得程式碼區塊印出「請輸入...」並將「num」代入鍵盤輸入值。
直到條件不成立,也就是「num」代入的數值超過9的情況發生時,程式印出最終輸入的值並結束迴圈。
此例不考慮錯誤處理機制,先熟悉迴圈的應用是目前的主要課題。
永不停止執行

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class CH0904 { public static void main(String args[]) throws IOException, InterruptedException { Process p; String line; while ( true ) { p = Runtime.getRuntime().exec( "wmic cpu get loadpercentage" ); p.waitFor(); BufferedReader reader = new BufferedReader( new InputStreamReader(p.getInputStream())); while ((line = reader.readLine()) != null ) { System.out.print(line); } System.out.println(); } } } |
「while」條件沒有指定變數,而是指定1個布林值「true」。
擺明了就是常駐程式,沒有太多的手段能由外來停止。
此例不考慮錯誤處理機制,先熟悉迴圈的應用是目前的主要課題。
沒有留言:
張貼留言