680 likes | 790 Views
補充教材. 主題. JDK 與 Tomcat 5.5.x 的安裝 迴圈 MySQL Workbench. Java 開發環境的建立. JDK 的安裝 http://www.oracle.com/technetwork/java/index.html 免費下載 環境變數設定. 安裝 JDK. 如此一來就簡單的安裝好 JDK 軟體了 !!. 環境變數設定. 在「我的電腦」按右鍵,點選「內容」,即跳出以下的 畫面後,選擇 「進階」這個標籤後,點選「環境變數」. 在「系統變數」那欄,點選變數名稱為「 Path 」,並按下「編輯」.
E N D
主題 • JDK 與 Tomcat 5.5.x 的安裝 • 迴圈 • MySQL Workbench
Java 開發環境的建立 • JDK的安裝 • http://www.oracle.com/technetwork/java/index.html免費下載 • 環境變數設定
環境變數設定 • 在「我的電腦」按右鍵,點選「內容」,即跳出以下的 • 畫面後,選擇 「進階」這個標籤後,點選「環境變數」
在變數值的最後面加入 c:\jdk\bin,並以 “;” 跟之前的變數值隔開,而c:\jdk\bin需鍵入剛才安裝JDK的目錄。鍵入完畢後按下「確定」後即完成環境的變數設定
新增環境變數 JAVA_HOME,讓它的值為 c:\jdk 結束後,請記得重新登入/開機。
安裝 Tomcat • Tomcat 5.5.x 的安裝 • 請參考http://web.nchu.edu.tw/~jlu/cyut/tomcat55.shtml • 如果你的作業系統是 64 bits 的版本,請下載下列檔案(如果是 Intel 的 CPU,到 x64 目錄下),並放置於 d:\tomcat\bin 內(原來目錄內的檔案是 32bits 版) • http://apache.cdpa.nsysu.edu.tw/tomcat/tomcat-connectors/native/1.1.20/binaries/win64/x64/tcnative-1.dll • 啟動後的”命令提示字元”視窗,可用於除錯用!
迴圈 • 假設使用者需要連續讀取 10/100/N 個整數 System.out.print(“請輸入一個整數”); number = scanner.nextInt( ); System.out.println(number); … // 重複10/100/N 次 • 迴圈的設計允許程式執行相同的(或者類似的)程式碼多次。 • 從需求中找出 pattern 是訓練的重點
迴圈 • Java 支援三種迴圈語法: • for • while • do-while
for敘述 for(宣告並初始化counter; for執行的條件; 改變counter的值) 區塊敘述 區塊敘述跟之前的if-else用法相同,它可以是一個敘述, 或者是由一對大括號({})包起來的一個或一個以上的敘述
for敘述 • 使用者讀取10個(或者更多)整數 System.out.print(“請輸入一個整數”); number = scanner.nextInt( ); System.out.println(number); … // 重複10次 改為 for(int i=0; i<10; i++){ System.out.print(“請輸入一個整數”); number = scanner.nextInt( ); System.out.println(number); }
i=1 i <=10 true System . out . print ( “ ” ) ; 請輸入一個整數 number = scanner . nextInt ( ) ; System . out . println ( number ) ; i++ ; for敘述
範例 (for 迴圈) • 請把 1 到 20(或者一個更大的數字,例如10000)整數加總起來 • for 迴圈 int sum = 0; sum = sum + 1; sum = sum + 2; sum = sum + 3; … // 中間過程略過不寫 sum = sum + 20; 跟剛剛直接把程式碼放到迴圈內不一樣,必須作一點轉換! int sum = 0; for(int i=1; i<=20; i++) sum = sum + i;
練習題 • 請將 1 到 100 的所有偶數相加,並求其總和。 • 請將 x 到 y 的所有偶數相加,並求其總和。 • 若使用者輸入的 y 值小於 x,需要特別處理嗎? • 請將 1 到 100 的所有奇數相加,並求其總和。 • 請將5、10、15、…、100的所有整數相加,並求其總和。
範例 (for 迴圈) (求法1) 完成第一個數學式子的for迴圈 double sum = 0.0; for (int i=1;i<=21;i+=4) { sum = sum + 1.0/i; } 完成第二個數學式子總和的for迴圈如下 for (int i=3;i<=19;i+=4) { sum = sum - 1.0/i; }
範例 (for 迴圈) (求法1) • 兩個for整理在一起 (求法1) double sum = 0.0; for (int i=1;i<=21;i+=4) { sum = sum + 1.0/i; } for (int i=3;i<=19;i+=4) { sum = sum - 1.0/i; }
範例 (for迴圈) (求法2) double sum = 0.0; for (int i=1;i<=n;i+=2) { // 必要的程式碼 } if (i是奇數項) sum = sum + 1.0/i; else // i是偶數項 sum = sum - 1.0/i; double sum = 0.0; for (int i=1;i<=n;i+=2) { if (i % 4 ==1) // i是奇數項 sum = sum + 1.0/i; else // i是偶數項 sum = sum - 1.0/i; }
巢狀迴圈(Nested Loops) • 巢狀迴圈指的是一個迴圈敘述內包含一個以上的迴圈 • 外迴圈(outer loop): outer loop 內可包含多個 inner loops • 內迴圈(inner loop): inner loop 還可以包含 inner loop int sum = 0; for (int i=1;i<=5;i++) { // outer for (int j=1;j<=5;j++) // inner sum = sum + i * j; }
範例1 (巢狀迴圈) int sum = 0; for (int i=1;i<=5;i++) { for (int j=1;j<=5;j++) sum = sum + i * j; }
範例2 (巢狀迴圈) int sum = 0; int i, j; for (i=1; i<=5; i++) { for (j=1; j<=i; j++) sum = sum + i * j; }
練習題 • 試求 • 試求 • 試求
範例3 (巢狀迴圈) 分析問題
範例3 (巢狀迴圈) int n = 7; // n 也可以是一個方法的參數 for (int i=1; i<=n; i++) { for (int j=1; j<=n-i+1; j++) System.out.print(“*”); // 總共印出n-i+1個星號 System.out.println(“”); // 跳行 }
while敘述 • while的語法如下 利用 while 從 1 加到 20 while(繼續條件) 區塊敘述 也就是 for(;繼續條件;) 區塊敘述
練習題 • 請找出其他的方式來求得小於 100 的最大的 7 的倍數 • 提示:簡單的算術 • 提示:遞減
break 敘述 • break 的語法如下 • break [標籤]; • 例如: 一旦 x 的值超過100我們就要跳出(也就是break)迴圏的執行 if(x >= 100) break;
if(x >= 100) { x = x – 7; break; }
break 敘述 • break 只能跳出一層迴圈 不要執行這個範例,會造成無窮迴圈。
continue 敘述 • continue 的語法如下 • continue [標籤]; • continue 之後的敘述不再執行,而逕自執行下一個迴圈 • 範例:假設我們像 TestBreak3.java 一樣,希望能夠完成九九乘法表,但是 5 的那一列卻不想列印出來 (程式如下頁)
continue 敘述 public class TestContinue1 { public static void main(String[] args) { for(int i = 1; i <= 9; i++) { if(i == 5) { System.out.println(); continue; } for(int j = 1; j<=9; j++) { System.out.format("%4d", i * j); } System.out.println(); } } }
練習題 • 請利用 while 迴圈和 break 來找尋小於100的最大的 7 的倍數。 • 提示:請從 99 開始找,找到的第一個 7 的倍數就是最大的
do-while敘述 • do-while迴圈的語法如下 do { 區塊敘述 } while (繼續條件); 讓我們還是以從1加到20的總和來說明 do-while 的使用方式。以下程式碼是利用 do-while 來加總 int i = 1, sum = 0 do { sum = sum + i; i++; } while (i <= 20);
for、while、或者do-while • 三種迴圈的敘述可以互相替代。 • 如果執行迴圈之前可以確定迴圈執行的次數(即 counter 數),建議使用 for 敘述;反之,若無法確定,則建議使用 while 或者 do-while 敘述。 • 若執行迴圈之前無法確定迴圈執行的次數,而且讀者確定第一次迴圈一定會執行,則建議使用 do-while 敘述;反之,請使用 while 敘述。
常見的錯誤 • 除了 10 之外,加總 1 到 20 的整數 • 忘了調整迴圈控制變數
MySQL Workbench • 管理 MySQL 的最佳介面其實是經由指令 • 但是,還是很多初學者喜歡圖形介面 • MySQL 提供了一套圖形介面的軟體,讓使用者可以輕易的使用資料庫,這套軟體就是 MySQL Workbench • 下載點:http://dev.mysql.com/downloads/workbench/5.2.html • 我還是建議 zip 版,避免把作業系統搞得又慢又複雜 • 若在 XP 下安裝 zip 版,你必須先安裝 Microsoft .NET Framework 4 Client Profile (獨立安裝程式)