switch語句
格式:
switch(變量){
case 常量1:
語句1;
break;
case 常量2:
語句2;
break;
......
default:
語句;
break;
}
特點:1.根據變量的值,選擇相應的case去判斷,一旦滿足case相應語句,如果沒有break或者已經到結尾,會
繼續執行其下的case語句
2.default是可選的,而且位置靈活,default的作用是一旦其他的case都沒有執行,則執行default
3.變量可以是:char byte short int String 枚舉,其余的都不能用在switch語句中
4.case條件:其中條件只能寫值,不能寫范圍
練習:輸入英文的夏天,使輸出的是中文的夏天
import java.util.Scanner; public class V{ public static void main(String[] args){ String s="summer"; switch(s){ case "spring": System.out.println("春天"); break; case "summer": System.out.println("夏天"); break; case "autumn": System.out.println("秋天"); break; case "winter": System.out.println("冬天"); break; default: System.out.println("輸入有誤"); break; } } }
switch-case與if-else之間的轉換
1.當多個case語句處理的語句塊一致時,可以統一來書寫
格式:
switch(變量){
case 常量1:
case 常量2:
case 常量3:
case 常量4:
......
System.out.println();
break;
//這些常量所輸出的結果一樣
case 常量5:
case 常量6:
case 常量7:
case 常量8:
......
System.out.println();
break;
defaul:
System.out.println();
break;
//這些常量所輸出的結果一樣
}
2.在一定情況下switch-case與if-else之間可以相互轉化
3.if-else作用的范圍比switch-case作用范圍要大,但是當switch-case和if-else都可以用的情況下
推薦使用switch-case
package test;
import java.util.Scanner;
public class test2 {
public static void main(String[] args) {
Scanner s=new Scanner(System.in);
System.out.println("請輸入一個小寫字母:");
char ch=s.next().charAt(0);
switch(ch){
case 'a':
System.out.println("A");
break;
case 'b':
System.out.println("B");
break;
case 'c':
System.out.println("C");
break;
case 'd':
System.out.println("D");
break;
case 'e':
System.out.println("E");
break;
default:
System.out.println("other");
break;
}
}
}
package test;
import java.util.Scanner;
public class test2 {
public static void main(String[] args) {
Scanner s=new Scanner(System.in);
System.out.println("請輸入成績:");
int score=s.nextInt();
switch (score/10){
case 6:
case 7:
case 8:
case 9:
case 10:
System.out.println("合格");
break;
case 5:
case 4:
case 3:
case 2:
case 1:
case 0:
System.out.println("不合格");
break;
default:
System.out.println("輸入錯誤");
break;
}
}
}
import java.util.Scanner; public class V{ public static void main(String[] args){ System.out.println("輸入月份"); Scanner s=new Scanner(System.in); int month=s.nextInt(); switch(month){ case 1: case 2: case 3: System.out.println("春天"); break; case 4: case 5: case 6: System.out.println("夏天"); break; case 7: case 8: case 9: System.out.println("秋天"); break; case 10: case 11: case 12: System.out.println("冬天"); break; default: System.out.println("輸入錯誤"); break; } } }
import java.util.Scanner; public class V{ public static void main(String[] args){ Scanner s=new Scanner(System.in); System.out.println("輸入月份"); int month=s.nextInt(); System.out.println("輸入日期"); int day=s.nextInt(); int sum=0; switch(month){ case 12: sum += 30; case 11: sum += 31; case 10: sum += 30; case 9: sum += 31; case 8: sum += 31; case 7: sum += 30; case 6: sum += 31; case 5: sum += 30; case 4: sum += 31; case 3: sum += 28; case 2: sum += 31;//一月份的天數 case 1: sum += day; } System.out.println(sum); } }