Chapter4 Java流程控制之選擇結構

Lecture1 流程控制概述

  • 流程控制語句種類:順序、選擇、循環;選擇結構--if結構、if-else結構、多重if結構、嵌套if結構、switch結構;循環結構--while循環、do-whiile循環、for循環、循環嵌套

Lecture2 多重if結構與嵌套if結構

  • 多重if結構

例子:java

/**
 * 使用多重if結構進行成績判斷:
 *
 * 成績大於等於90分,輸出「優」
 * 成績大於等於80分且小於90分,輸出「良」
 * 成績大於等於60分且小於80分,輸出「中」
 * 成績小於60分,輸出「不及格」
 */
import java.util.Scanner;

public class ScoreAccess {
    public static void main(String[] args) {
        System.out.println("請輸入成績:");
        Scanner sc = new Scanner(System.in);
        int score = sc.nextInt();

        if (score >= 90) {
            System.out.println("優");
        } else if (score >= 80) {   //至關於((score >= 80) & (score < 90))
            System.out.println("良");
        } else if (score >= 60) {
            System.out.println("中");
        } else {
            System.out.println("不及格");
        }
    }
}
  • 嵌套if結構:將整個if塊插入另外一個if塊中;語法格式與例子:
//語法格式
if(表達式1)
  if(表達式2)
    if(表達式3)
      語句;
else
  語句;

//例子:從鍵盤輸入兩個整數,,判斷並輸出它們之間的關係(大於、等於或小於)
import java.util.Scanner;

public class IntCompare {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("請輸入x的值:");
        int x = sc.nextInt();
        System.out.println("請輸入y的值:");
        int y = sc.nextInt();

        if (x != y) {
            if (x > y) {
                System.out.println("x大於y");
            } else {
                System.out.println("x小於y");
            }
        } else {
            System.out.println("x等於y");
        }
    }

Lecture3 switch結構

  • if結構和switch結構的區別:if結構--判斷條件是布爾類型,判斷條件是一個範圍;switch結構--判斷條件是常量值
  • switch結構(又稱爲多路選擇結構)語法格式:
switch(表達式){
  case 常量表達式1: 
           語句1;
           break;  //可省略
  case 常量表達式2: 
           語句2;
           break;  //可省略
  ……
  case 常量表達式n: 
           語句n;
           break;  //可省略
  default:   //可省略
           語句3; 
}

Tips:JDK7.0之後表達式的值除了能夠是基本數據類型的byte、short、int和char之外,還能夠是String類型code

  • switch結構案例:

案例一:ip

import java.util.Scanner;

/**
 * 使用switch結構,從鍵盤輸入1-7之間的任意數字,分別輸出對應星期幾
 * 例如:輸入1,輸出星期一
 */

public class SwitchWeek {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("請輸入1-7之間的數字:");
        int week = sc.nextInt();
        switch (week) {
            case 1:
                System.out.println("星期一");
                break;
            case 2:
                System.out.println("星期二");
                break;
            case 3:
                System.out.println("星期三");
                break;
            case 4:
                System.out.println("星期四");
                break;
            case 5:
                System.out.println("星期五");
                break;
            case 6:
                System.out.println("星期六");
                break;
            case 7:
                System.out.println("星期日");
                break;
            default:
                System.out.println("輸入錯誤");
        }
    }
}

案例二:字符串

import java.util.Scanner;

/**
 * 使用switch結構,從鍵盤輸入對應星期的英文單詞,分別輸出對應星期幾
 * 例如:輸入"Monday",輸出"星期一"
 */

public class SwitchWeek_2 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("請輸入對應星期的英文單詞:");
        String week = sc.next();

        week = week.toLowerCase();//將字符串的內容所有轉換爲小寫

        switch (week) {
            case "monday":
                System.out.println("星期一");
                break;
            case "tuesday":
                System.out.println("星期二");
                break;
            case "wednesday":
                System.out.println("星期三");
                break;
            case "thursday":
                System.out.println("星期四");
                break;
            case "friday":
                System.out.println("星期五");
                break;
            case "saturday":
                System.out.println("星期六");
                break;
            case "sunday":
                System.out.println("星期日");
                break;
            default:
                System.out.println("輸入錯誤");
        }
    }
}
相關文章
相關標籤/搜索