当前位置: 代码迷 >> 综合 >> Java基础——switch的用法及注意事项
  详细解决方案

Java基础——switch的用法及注意事项

热度:84   发布时间:2023-10-17 05:04:55.0
    在switch(expr1)中,expr1只能是一个整数表达式或者枚举常量(更大字体),整数表达式可以是int基本类型或Integer包装类型,由于,byte,short,char都可以隐含转换为int,所以,这些类型以及这些类型的包装类型也是可以的。显然,long和String类型都不符合switch的语法规定,并且不能被隐式转换成int类型,所以,它们不能作用于swtich语句中。 如法如下:

String find_date = paramMap.get("find_date");
        String [] find_dates = find_date.split("-");
        int year = Integer.parseInt(find_dates[0]);
        int month1 = Integer.parseInt(find_dates[1]);
        int month15 = Integer.parseInt(find_dates[1]);
        int month16 = Integer.parseInt(find_dates[1]);
        switch(year){
        case 2015:
            if(month15<3){year-=1;}else{month15-=2;}
            break;
        case 2016:
            if(month1==2){year-=1;month15=12;}
            else if(month1==1){year-=1;month15=11;}
            else{month16-=2;}
            break;
        case 2017:
            if(month1==2){year-=1;month15=12;month16=12;}
            else if(month1==1){year-=1;month15=12;month16=11;}
            else{month1-=2;month15=12;month16=12;}
            break;
            default:
        }

    break关键字可以结束switch语句,如果没有break,则从符合条件的case开始一直往下执行到switch结束或者遇到break。
注:JDK1.7及之后switch语句已支持string类型!