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);
    }
}
原文地址:https://www.cnblogs.com/KeepCalmAndNeverSayNever/p/10074229.html