switch語句和switch-case與if-else之間的轉換


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);
    }
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM