zoukankan      html  css  js  c++  java
  • switch

    switch(变量){
    case 值1:

    case 值2:

    case 值3:

    default:

    }
    1.根据变量的值,选择相应的case去判断,一旦满足case条件,就执行case的相应语句。如果没有break或者已经
    到结尾的话,会继续执行其下的case语句。
    2.default:是可选的,而且位置是灵活的。
    3.变量可以是哪些类型?char byte short int 枚举 String(jdk1.7)
    4.case 条件:其中条件只能是值,不能是取值范围!

    例1:输出春天

    class TestSwitch2 {
        public static void main(String[] args) {
    
            String season = "SPRING";
    
            switch (season) {
            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;
    
            }
    
        }
    }

    例2:对学生成绩大于60分的,输出“合格”。低于60分的,输出“不合格”。

    说明:
    1.当多个case语句处理的语句块一致时,可以统一来书写
    2.一定情况下switch-case与if-else之间可以相互转换。

    class TestSwitch3 {
        public static void main(String[] args) {
            int score = 67;
            if (score >= 60) {
                System.out.println("及格");
            } else {
                System.out.println("不及格");
            }
            /*
             * switch(score){ case 100: ... case 0: default: }
             */
            switch (score / 10) {
            case 10:
            case 9:
            case 8:
            case 7:
            case 6:
                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;
    
            }
    
        }
    }

    例3:从键盘上输入2014年的“month”和“day”,要求通过程序输出输入的日期为2014年的第几天

    import java.util.Scanner;
    
    class TestSwitch4 {
        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;// 用来记录month月day日是2014年第几天
            // 使用switch-case
            switch (month) {
    
            case 12:
                sum += 30;// 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;// 31:是一月份的天数
            case 1:
                sum += day;
    
            }
    
            System.out.println(sum);
        }
    }

    如果不加break,代码会从那开始执行,一直执行到最后,所以不符合case的语句也会被执行。

    例4:从键盘分别输入年、月、日,判断这一天是当年的第几天

    import java.util.Scanner;
    class TestYearMonthDay{
        public static void main(String[] args) {
            Scanner s = new Scanner(System.in);
            System.out.println("请输入年份:");
            int year = s.nextInt();
            System.out.println("请输入月份:");
            int month = s.nextInt();
            System.out.println("请输入日期:");
            int day = s.nextInt();
    
            int sum = 0;//用来记录year年month月day日是year年第几天
            //使用switch-case
            switch(month){
            
            case 12:
                sum += 30;//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:
                if((year % 4 == 0 && year % 100 != 0) || year % 400 == 0){
                    sum += 29;
                }else{
                    sum += 28;
                }
            case 2:
                sum += 31;//31:是一月份的天数
            case 1:
                sum += day;
        
            }
            System.out.println(sum);
        }
    }
  • 相关阅读:
    【图片垂直居中】解决方案
    【透明、半透明】3中解决方案
    HTML5 Canvas 2D 绘图
    Java 连接 timesten
    使用Oracle SQL Developer连接timesten
    Python核心数据类型——文件
    Windows 下 Dropbox + Git 构建分布式多人协作版本控制系统
    Python核心数据类型——字典
    Python核心数据类型——元组
    Linux + Apache + MySQL 环境下OSQA部署
  • 原文地址:https://www.cnblogs.com/wangmengge/p/8630899.html
Copyright © 2011-2022 走看看