二十一:Java基础入门-Java语言Switch语句详解

1、概述

  • switch语句称为情况选择语句,又称为开关语句。
  • switch是分支语句的一种,用于对多种情况进行不同处理的语句。
  • JDK1.7之前的switch语句限定对整形数据进行判断,1.7新增对String类型数据进行判断。

2、定义格式

switch(表达式){
case 常量值1:
    代码块1;
    break;
case 常量值2:
    代码块2;
    break;
    ......
default:
    以上常量值均不是时,执行本代码块。
}

注意:上述的定义格式,看起来可能不好理解,下面通过案例来驱动大家理解switch的用法,实际开发中switch使用场景并不多,建议大家熟练掌握即可。

3、案例一(判断int类型的数据)

public static void main(String args[]) {
    Scanner scanner = new Scanner(System.in);
    System.out.println("请输入5分制分数:");
    int score = scanner.nextInt();

    switch (score) {
        case 5:
            System.out.println("优秀");
            break;
        case 4:
            System.out.println("良好");
            break;
        case 3:
            System.out.println("及格");
            break;
        case 2:
        case 1:
        case 0:
            System.out.println("不及格");
            break;

        default:
            System.out.println("输入的分数不是5分制的分数");
            break;
    }
}

4、案例二 (switch语句的“贯穿”现象)

public static void main(String args[]) {
    int score = 4;

    switch (score) {
        case 5:
            score++;
        case 4:
            score++;
        case 3:
            score++;
        case 2:
            score++;
        case 1:
            score++;
        case 0:
            score++;

        default:
            System.out.println(score);
    }
}

注意:“贯穿”原因是丢失break语句导致的,在使用是一定要注意此处代码的执行顺序,以免造成程序逻辑错误。

5、案例三(键盘输入字符串并进行判断)

public static void main(String args[]) {
    Scanner scanner = new Scanner(System.in);
    System.out.println("请输入分数等级:");
    char grade = scanner.next().charAt(0);

    switch (grade) {
        case '优':
            System.out.println(5);
            break;
        case '良':
            System.out.println(4);
            break;
        case '中':
            System.out.println(3);
            break;
        case '差':
            System.out.println(2);
            break;

        default:
            System.out.println("输入的等级错误");
            break;
    }
}

6、案例四(显示指定月的天数,不考虑闰年)

public static void main(String args[]) {
    Scanner scanner = new Scanner(System.in);
    System.out.println("请输入月份:");
    int month = scanner.nextInt();

    switch (month) {
        case 1:
        case 3:
        case 5:
        case 7:
        case 8:
        case 10:
        case 12:
            System.out.println("31天");
            break;
        case 2:
            System.out.println("28天");
            break;
        case 4:
        case 6:
        case 9:
        case 11:
            System.out.println("30天");
            break;

        default:
            System.out.println("输入的月份错误");
            break;
    }
}

注意:上述代码可以新建Java测试类,然后写在main方法中查看运行结果。
说明:该内容由Lord丶轩莫言弃收集整理,参考资料来源于极客学院。

你可能感兴趣的:(二十一:Java基础入门-Java语言Switch语句详解)