150 likes | 326 Views
第七章 巢狀 IF 條件分支. 邏輯判斷. 巢狀 if 條件式. 邏輯判斷. 電腦執行程式時 按照順序逐一執行程式敘述。 IF 可讓電腦先測試條件,再來選擇所對應的程式內容。 完成 IF 敘述後,再按照順序逐一執行程式敘述。 測試條件很多時,需搭配複合條件邏輯判斷,或是用巢狀 IF 來完成。. 條件判斷. 數值比較. 條件判斷. 字串比對 String key = “ yes”;. 條件判斷. 條件邏輯組合. 程式範例. import java.io.*; public class BufferedReaderDemo {
E N D
第七章 巢狀 IF 條件分支 邏輯判斷 巢狀 if 條件式
邏輯判斷 • 電腦執行程式時 • 按照順序逐一執行程式敘述。 • IF 可讓電腦先測試條件,再來選擇所對應的程式內容。 • 完成 IF 敘述後,再按照順序逐一執行程式敘述。 • 測試條件很多時,需搭配複合條件邏輯判斷,或是用巢狀 IF 來完成。
條件判斷 數值比較
條件判斷 字串比對 String key = “ yes”;
條件判斷 條件邏輯組合
程式範例 import java.io.*; public class BufferedReaderDemo { public static void main(String[ ] args) throws IOException { BufferedReader keyin = new BufferedReader(new InputStreamReader(System.in)); System.out.print(“你是男生嗎?請輸入 y 或 n "); String ans = keyin.readLine(); char yn = ans.charAt(0); if ( yn=='Y'|| yn=='y') { System.out.println("你是男生"); } if ( yn=='N'|| yn=='n' ) { System.out.println(“妳是女生"); } if ( yn!='Y' && yn!='y' && yn!='N' && yn!='n') { System.out.println(“請輸入 y 或 n "); } } }
上機演練 請開發一個系統,使用者輸入使用者帳號與密碼方能進入此一系統。 使用者帳號:root 使用者密碼:mis888
巢狀 if 條件式 if(條件式1) \\第一層 { if(條件式2) \\第二層 陳述句一; } if(條件式1 ) \\第一層 { if(條件式2) \\第二層 { 陳述句一; 陳述句二; ……….. } }
使用 if 判斷汽車是否該加油的程式。油量小於5 公升大於等於 2公升時,顯示油量尚足,提醒您注意油表 !。 if (油量小於 5 公升) { if (油量小於 2 公升) { 油量尚足,提醒您注意油表 ! } } 是 是 油量大於2 公升? 顯示訊息 油量小於5 公升 ?
使用 if 判斷汽車是否該加油的程式。油量小於5 公升大於等於 2公升時,顯示油量尚足,提醒您注意油表 !。 import java.io.*; public class BufferedReaderDemo { public static void main(String[ ] args) throws IOException { BufferedReader keyin = new BufferedReader( new InputStreamReader(System.in)); System.out.print(“請輸入目前所剩油料 (幾公升?) : "); float liter = Float.parseFloat( keyin.readLine()); if ( liter < 5 ) { if( liter >2 ) { System.out.println(“油量尚足,提醒您注意油表 !"); } } System.out.println(“祝您行車愉快"); } }
上機演練 請開發一個醫療診斷系統,使用者輸入身體狀況可以大略知道可能罹患何種疾病。其功能為:
可被 400 整除 是閏年 可被 100 整除 可被 4 整除 不可 不是閏年 不可 是閏年 不可 不是閏年 綜合練習 • 請寫一程式可以輸入西元紀元,判斷其是否為閏年後將結果輸出。 • 可被 4 整除,但不能被 100 整除。 • 可被 400 整除。 西元紀元
綜合練習 int year = 2009; System.out.print(“西元 ”+year+” 年”); if( year % 4 == 0) //可被 4 整除 { if( year % 100 == 0) //可被4、100 整除 { if( year % 400 == 0) //可被 4、 100、400 整除 System.out.println(“是閏年”); else System.out.println(“不是閏年”); } else { System.out.println(“是閏年”); } } else { System.out.println(“不是閏年”); }
上機演練 請製作一個具有加(+)、減(-)、乘(*)、除(/)與餘數(%)功能的計算器。譬如輸入 5 + 3 後,系統會輸出 5 + 3 = 8 之樣式。期望操作介面如下: 請輸入計算式:5 + 3 5 + 3 = 8