網頁

2013年9月12日 星期四

Ch2_1 if-else流程敘述

  • if 結構
基本的if結構很簡單,給他一個條件運算式,根據運算結果為true或false來決定是否執行下一句陳述句。
if (boolean expression)
statement;
//繼續往下執行




  • 巢狀if結構
有些時候需要把if陳述當成另一個if陳述句中的一部份,及形成所謂的巢狀if結構。


if (boolean expression1){
code_block1;
...
if(
boolean expression2){
code_block2; 
//if結尾
} //if結尾
//繼續往下執行
boolean expression1 判斷為true時,才會執行code_block1定義的內容,此時執行到第2個if判斷式時,如果boolean expression2為true時,才會執行code_block2定義的內容,也就是boolean expression1 一開始判斷為false時,if判斷式就不會執行code_block1定義的內容,更不會執行code_block2定義的內容。




  • if / else 結構
可用1個if敘述來包含判斷式成立必須執行的程式碼,以及一個else敘述,包含只有判斷式不成立時才能執行的程式碼。


if (boolean expression1){
code_block1;
}
//if結尾
else{
code_block2; 
//else結尾
//繼續往下執行


  • if / else階層式流程
if(布林運算式)
....//if條件成立時所執行的程式區塊
else if(
布林運算式)
...//
else  if條件成立時所執行的程式區塊
else if(布林運算式)
...//
else  if條件成立時所執行的程式區塊
else if(布林運算式)
...//
else  if條件成立時所執行的程式區塊
else
...//else  條件成立時所執行的程式區塊

程式執行時,會一個一個比對判斷式中的條件是否符合,如果遇到判斷式為true時,就執行對應的程式區塊,之後的判斷式就不在進行比對。

在撰寫if / else結構時,須注意到如果不使用括號定義出區塊的話,每一個if是與最接近的else配對,為了結構清楚,多多使用括號定義初區塊會比較保險一點。



範例程式
  • Ch2_1 .java
package chapter;

import java.io.*;

public class Ch2_1 {
    public static void main(String[] args) throws IOException {
        System.out.println("請輸入數字");
         BufferedReader bf=new BufferedReader(new InputStreamReader(System.in));
         String s=bf.readLine();
         int input=Integer.parseInt(s);
         if (input%2==0)
             System.out.println("輸入的數字是偶數");
       
         if (input%2!=0)
             System.out.println("輸入的數字是奇數");
             System.out.println("多餘的.....");
       
    }

}
  • Ch2_1_2 .java
package chapter;

import java.io.*;

public class Ch2_1_2 {
    public static void main(String[] args) throws IOException {
        System.out.println("請輸入數字");
        BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
        String s = bf.readLine();
        int input = Integer.parseInt(s);
        if (input % 2 == 0) {
            System.out.println("輸入的數字是偶數是2的倍數");
            if (input % 3 == 0) {
                System.out.println("輸入的數字是偶數是2的倍數也是3的倍數");
            }

        }
    }

}
  • Ch2_1_3 .java
package chapter;

import java.io.*;

public class Ch2_1_3 {
    public static void main(String[] args) throws IOException {
        System.out.println("請輸入數字");
        BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
        String s = bf.readLine();
        int input = Integer.parseInt(s);
        if (input % 2 == 0) {
            System.out.println("輸入的數字是偶數");
        }else{
            System.out.println("輸入的數字是奇數");
            }

        }
}
  • Ch2_1_4 .java



package chapter;

import java.io.*;

public class Ch2_1_4 {
    public static void main(String[] args) throws IOException {
        System.out.println("請輸入分數");
        BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
        String s = bf.readLine();
        int score = Integer.parseInt(s);
        if (score >= 90)
            System.out.println("得A");
        else if (score >= 80)
            System.out.println("得B");
        else if (score >= 70)
            System.out.println("得C");
        else if (score >= 60)
            System.out.println("得D");
        else
            System.out.println("不及格");
    }
}

沒有留言:

張貼留言