Java基础 Day04(个人复习整理)

分支结构

2、switch语句

  因为if语句的级联式最多只会处理三种情况,如果出现多情况

  1>可以继续使用if语句的级联式,但是可能代码的可读性就会变差。
  2>采用switch语句来解决。

switch语法格式:

switch (存在多种情况的变量) {
    case 值1:
    语句(一定要包含break)
    case 值2:
    语句(一定要包含break)
    ...
    default:
    语句(一定要包含break)
}

  1:变量的数据类型:byte short int char String Enum枚举不常用
  2:default的作用:所有case情况如果都不匹配,走default
  3:case中break的作用:跳出switch语句的标识符
  4:如果没有break,代码会贯穿,直到遇到break,才会跳出switch语句

练习:A~D等级判定

System.out.println("请输入一个等级(A~D):");
Scanner scanner = new Scanner (System.in);
char level = scanner.next().charAt(0);
switch (level) {
    case 'A':
        System.out.println("优秀");
    break;
    case 'B':
        System.out.println("良好");
    break;
    case 'C':
    System.out.println("及格");
    break;
    case 'D':
    System.out.println("不及格");
    break;
    default:
    break;
}        

注:如果多个case执行的代码一致,可以多个case合起来一起写!!!

练习:输入一个年份和月份,判断这一年是平年还是闰年,并判断这一月有多少天

System.out.println("请输入一个年份和一个月份,中间用空格隔开:");
        Scanner scanner = new Scanner (System.in);
        int year = scanner.nextInt();
        if (year % 400 == 0 || (year % 4 ==0 && year % 100 !=0)) 
        {
            System.out.println(year + "是闰年");
        } else {
            System.out.println(year + "是平年");
        }
        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 4:
            case 6:
            case 9:
            case 11:
                System.out.println(30 + "天");
                break;
            case 2:    
        if (year % 400 == 0 || (year % 4 ==0 && year % 100 !=0)) {
                System.out.println(29 + "天");
        } else {
                System.out.println(28 + "天");
        }        
                break;
            default:
                break;
        }
        scanner.close();

猜你喜欢

转载自www.cnblogs.com/aa1869/p/10617549.html