1. 程式人生 > 其它 >20211208葛洺君 2022-2022-2 《Python程式設計》實驗一報告

20211208葛洺君 2022-2022-2 《Python程式設計》實驗一報告

if單選擇結構

我們很多時候需要去判斷一個東西是否可行,然後我們才去執行,這樣一個過程在程式中用if語句來表示:

if(布林表示式){ 
  //如果布林表示式為true將執行的語句 
}

意義:if語句對條件表示式進行一次測試,若測試為真,則執行下面的語句,否則跳過該語句。

public static void main(String[] args) { 

Scanner scanner = new Scanner(System.in); 

//接收使用者輸入 

System.out.print("請輸入內容:"); 

String s = scanner.nextLine(); 

if (s.equals("Hello")){ //equals是用來比較字串是否一致的

System.out.println("輸入的是:"+s); 

}

System.out.println("End"); 

scanner.close(); 

} 

if雙選擇結構

if(布林表示式){ 

//如果布林表示式的值為true 

}else{ 

//如果布林表示式的值為false 

} 
package Demo;
import java.util.Scanner; //匯入Scanner類

public class Hello {
    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        System.out.println("請輸入成績:");
    int score = scan.nextInt();
    if (score>=60){
        System.out.println("及格");
    }else{
        System.out.println("不及格");
    }
        scan.close();
    }
}

if多選擇結構

if(布林表示式 1){ 

//如果布林表示式 1的值為true執行程式碼 

}else if(布林表示式 2){ 

//如果布林表示式 2的值為true執行程式碼 

}else if(布林表示式 3){ 

//如果布林表示式 3的值為true執行程式碼 

}else { 

//如果以上布林表示式都不為true執行程式碼 

} 


一旦其中一個 else if 語句檢測為 true,其他的 else if 以及 else 語句都將跳過執行。

package Demo;
import java.util.Scanner; //匯入Scanner類

public class Hello {
    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        System.out.println("請輸入成績:");
        int score = scan.nextInt();
        if (score == 100) {
            System.out.println("S級");
        } else if (score < 100 && score >= 90) {
            System.out.println("A級");
        } else if (score < 90 && score >= 80) {
            System.out.println("B級");
        } else if (score < 80 && score >= 70) {
            System.out.println("C級");
        } else if (score < 70 && score >= 60) {
            System.out.println("D級");
        } else if (score < 60 && score >= 0) {
            System.out.println("不及格");
        } else {
            System.out.println("非法操作");
        }
        scan.close();
    }
}

巢狀的if結構

使用巢狀的 if…else 語句是合法的。也就是說你可以在另一個 if 或者 else if 語句中使用 if 或者 else if 語句。你可以像 if 語句一樣巢狀 else if...else。

public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        System.out.println("請輸入一個數字:");
        double num = scan.nextDouble();
        if (num % 2 == 0) {
            if (num % 3 == 0){
                System.out.println("你輸入的數字可以被2和3整除");
            }else{
                System.out.println("你輸入的數字能被2整除,但不能被3整除");
            }
        }else {
            if (num % 3 ==0){
                System.out.println("你輸入的數字能被3整除,但不能被2整除");
            }else{
                System.out.println("你輸入的數字不能被2整除,也不能被3整除");
            }
        }

        scan.close();
    }

switch多選擇結構

switch case 語句判斷一個變數與一系列值中某個值是否相等,每個值稱為一個分支。

switch(expression){ 

case value : 

//語句 

break; //可選 

case value : 

//語句 

break; //可選 

//你可以有任意數量的case語句 

default : //可選 

//語句 

} 

switch case 語句有如下規則:

  • switch 語句中的變數型別可以是:byte、short、int或者char。從JavaSE 7開始switch支援字串 String型別,同時case標籤必須為字串常量或字面量。
  • case語句中的值(即標籤如case 'A'中的'A')的資料型別必須與變數的資料型別相同,而且只能是常量或者字面常量。
  • 當變數的值與case語句的值相等時,那麼case語句之後的語句開始執行,直到break語句出現才會跳出switch語句。
  • 當遇到break語句時,switch語句終止。程式跳轉到switch語句後面的語句執行。case語句不必須要包含break語句。如果沒有break語句出現,程式會繼續執行下一條case語句,直到出現break語句。這種情況即case穿透。
  • switch語句可以包含一個default分支,該分支一般是switch語句的最後一個分支(可以在任何位置,但建議在最後一個)。default在沒有case語句的值和變數值相等的時候執行。default分支不需要break語句。
public class Hello {
    public static void main(String[] args) throws Exception{
        System.out.println("請輸入你的評級:");
        char grade=(char)System.in.read(); //Scanner不方便輸入單個字元,換in.read方法
        switch (grade){
            case 'A':
                System.out.println("優秀");
                break;
            case 'B':
                System.out.println("良好");
                break;
            case 'C':
                System.out.println("一般");
                break;
            case 'D':
                System.out.println("及格");
                break;
            default:
                System.out.println("Unknown");
        }
    }

JDK7增加了字串表示式

public class Hello {
    public static void main(String[] args){
        Scanner scan = new Scanner(System.in);
        System.out.println("請輸入暗號:");
        String sign = scan.next();

        switch (sign){
            case "已婚":
                System.out.println("陳睿");
                break;
            case "648":
                System.out.println("氪不改命");
                break;
            case "臭死了":
                System.out.println("114514");
                break;
            case "黑暗降臨":
                System.out.println("MIHOYO");
                break;
            default:
                System.out.println("Unknown");
        }
        scan.close();
    }