/**
switch語句有關規則
• switch(表達式)中表達式的值必須是下述幾種類型之一:byte,short, char,int,枚舉 (jdk 5.0),String (jdk 7.0);
• case子句中的值必須是常量,不能是變量名或不確定的表達式值;
• 同一個switch語句,所有case子句中的常量值互不相同;
• break語句用來在執行完一個case分支后使程序跳出switch語句塊;如 果沒有break,程序會順序執行到switch結尾
• default子句是可任選的。同時,位置也是靈活的。當沒有匹配的case時, 執行default
*/
/*
練習題:
編寫程序:從鍵盤上輸入2019年的“month”和“day”,
要求通過程序 輸出輸入的日期為2019年的第幾天。
注意:本題中容易產生疑問的點在於通過匹配,執行完一條case語句之后,還要繼續往下執行。
所以本題代碼中沒有使用break,且月份從12 >> 1排列來實現。
*/
import java.util.Scanner;
public class SwitchTest4{
public static void main(String[] args){
Scanner scan = new Scanner(System.in);
System.out.println("請輸入月份:");
int month = scan.nextInt();
System.out.println("請輸入日期:");
int day = scan.nextInt();
int sum = 0;
switch(month){
case 12:
sum += 31;
case 11:
sum += 30;
case 10:
sum += 31;
case 9:
sum += 30;
case 8:
sum += 31;
case 7:
sum += 31;
case 6:
sum += 30;
case 5:
sum += 31;
case 4:
sum += 30;
case 3:
sum += 31;
case 2:
sum += 28;
case 1:
sum += day;
}
System.out.println("2019年"+month+"月"+day+"號是該年的第"+sum+"天");
}
}