package introduction5;

public class SwitchDemo {

    //switch用于固定值的判断,如星期、人的性别
    //if用于判断区间、范围,能够用switch进行判断的,if都能判断,反之则不然
    
    //案列:返回月份天数
    static int numOfDay(int year,int month) {
        int numDay = 0;
        switch (month) {
        case 1:
            numDay = 31;
            //break的作用:如果满足当前条件,就返回numDey的值,跳出switch循环语句,其它的选项都不执行
            break;
        case 2:
            //因为闰年的2月是29天,所以此处需要加if进行判断
            //闰年:
            //能被4整除且不能被100整除或能被400整除,则判断为闰年,输出天数为29天
            if(year%4==0&&year%100!=0||year%400==0) {
                numDay = 29;
            }
            //否则为平年,天数输出为28天
            else {
                numDay = 28;
            }
            break;
        case 3:
            numDay = 31;
            break;
        case 4:
            numDay = 30;
            break;
        case 5:
            numDay = 31;
            break;
        case 6:
            numDay = 30;
            break;
        case 7:
            numDay = 31;
            break;
        case 8:
            numDay = 31;
            break;
        case 9:
            numDay = 30;
            break;
        case 10:
            numDay = 31;
            break;
        case 11:
            numDay = 30;
            break;
        case 12:
            numDay = 31;
            break;
        /*default:相对于if语句中的else,如果输入的数字不在1~12之间(以上所有条件都不满足),
         * 那么就执行default,输出“无效的月份”。
         */
        default:
        {
            System.out.println("无效的月份");
            break;
        }
        }
        return numDay;
    }
    public static void main(String[] args) {
    int numDey = numOfDay(78, 30);
    //如果给定的月份不在1~12之前,那么打印的结果为“0”
    System.out.println("给定年和月里面的天数是:"+numDey);
    }
}

自己练习:

package introduction;

import java.time.temporal.WeekFields;

public class Demo {
    public static String OfWeek(int number) {
        /*
         * 自己练习时错误:
         * 1、忘记在每个case后面加break关键字。
         * 2、不知道怎么在主方法中调用写完的程序,
         * 自己调用的方式是先实例化再调用,实际有更简单的方式去验证调用
         * 3、default部分需要用大括号括起来
         */
        String week = "";
        switch(number) {
        case 1:
            week = "星期一:Monday";
            break;
        case 2:
            week = "星期二:Tuesday";
            break;
        case 3:
            week = "星期三:Wednesday";
            break;
        case 4:
            week = "星期四:Thursday";
            break;
        case 5:
            week = "星期五:Friday";
            break;
        case 6:
            week = "星期六:Saturday";
            break;
        case 7:
            week = "星期日:Sunday";
            break;
        default:
        {
            System.out.print("请输入1~7之间的有效数字,");
            break;
        }
        }
        return week;
    }
    
    public static void main(String[] args) {
        String week = OfWeek(9);
        System.out.println("给定的数字代表:"+week);
    }
}

 

posted on 2018-08-23 09:56  时光以北暮南城  阅读(348)  评论(0编辑  收藏  举报