說明:1.凡是可以使用switch-case的結構,都可以轉換成if-else。反之,不成立。
2.寫分支結構時,當發現既能使用switch-case又能使用if-else時(並且,switch的取值不多的情況下),優先選擇switch-case。因爲執行效率高
if-else 練習1
我家狗狗5歲了,5歲相當於人類年齡多大呢?其實,狗的前兩年每一年相當於人類的10.5歲,之後每增加一年,增加4歲。那麼5歲的狗狗相當於人類年齡的多少呢?
import java.util.Scanner;
class DagTest{
public static void main (String[] args){
Scanner scan = new Scanner(System.in);
System.out.println("請輸入狗狗的年齡");
double age = scan.nextDouble();
if(age>=0 && age <= 2){
age = age*10.5;
}else(age > 2){
age = (2*10.5)+(age-2)*4;
}else{
System.out.println("請輸入正確的狗狗年齡“);
}
System.out.println("狗狗的年齡相當於人類"+age);
}
}
**
switch…case練習1
**
從鍵盤上輸入“year”,“month”和“day”,要判斷這一天是這一年的第幾天
注:判斷一年是否是閏年的標準:
1)可以被4整除,但不能被100整除
或者
2)可以被400整除
import java.util.Scanner;
class CaseTest{
public static void main(String[] args){
Scanner scan = new Scanner(System.in);
System.out.println("請輸入year");
int year = scan.nextInt();
System.out.println("請輸入month");
int month = scan.nextInt();
System.out.println("請輸入day");
int day = scan.nextInt();
//定義接收天數的變量
int dayNum = 0;
switch(month){
case 12:
dayNum+=30;
case 11:
dayNum+=31;
case 10:
dayNum+=30;
case 9:
dayNum+=31;
case 8:
dayNum+=31;
case 7:
dayNum+=30;
case 6:
dayNum+=31;
case 5:
dayNum+=30;
case 4:
dayNum+=31;
case 3:
//判斷year是否是閏年
if((year%4 == 0 && year%100 != 0) || year % 400==0){
dayNum +=29;
}else{
dayNum +=28;
}
case 2:
dayNum+=31;
case 1:
dayNum+=day;
}
System.out.println(year+"年"+mouth+"月"+day+"是當年的第"+dayNum+"天");
}
}