1、条件判断

一、if

public static void main(String[] args) {
        /*
         * 根据输入的数字,返回对应的星期几
         */

        int week = 4;// 网页、键盘等,既要按照正常的流程执行,也要考虑到一点意外的情况(健壮性)

        // 缺点:繁琐、而且会每个条件分句都进行了判断(消耗大)
        if (week == 1) {
            System.out.println(week + "对应中文是星期一");
        }
        if (week == 2) {
            System.out.println(week + "对应中文是星期二");
        }
        if (week == 3) {
            System.out.println(week + "对应中文是星期三");
        }
        if (week == 4) {
            System.out.println(week + "对应中文是星期四");
        }
        if (week == 5) {
            System.out.println(week + "对应中文是星期五");
        }
        if (week == 6) {
            System.out.println(week + "对应中文是星期六");
        }
        if (week == 7) {
            System.out.println(week + "对应中文是星期日");
        } else {
            System.out.println("没有对应的星期");
        }

        // 缺点:繁琐,但是一般碰到满足条件的分句,即不再继续判断(else if的作用)
        if (week == 1) {
            System.out.println(week + "对应中文是星期一");
        } else if (week == 2) {
            System.out.println(week + "对应中文是星期二");
        } else if (week == 3) {
            System.out.println(week + "对应中文是星期三");
        } else if (week == 4) {
            System.out.println(week + "对应中文是星期四");
        } else if (week == 5) {
            System.out.println(week + "对应中文是星期五");
        } else if (week == 6) {
            System.out.println(week + "对应中文是星期六");
        } else if (week == 7) {
            System.out.println(week + "对应中文是星期日");
        } else {
            System.out.println("没有对应的星期");
        }

        /*
         * 一年有四季: 春:3,4,5 夏:6,7,8 秋:9,10,11 冬:12,1,2
         * 
         * 类似于以上的每个月份1个if判断也可以,但: 写程序比较重要的一点:提高代码复用性 将多条件进行合并(如何合并,用条件运算符)
         */
        int month = 12;
        if (month == 3 || month == 4 || month == 5) {
            System.out.println(month + "月是春季");
        } else if (month == 6 || month == 7 || month == 8) {
            System.out.println(month + "月是夏季");
        } else if (month == 9 || month == 10 || month == 11) {
            System.out.println(month + "月是秋季");
        } else if (month == 12 || month == 1 || month == 2) {
            System.out.println(month + "月是冬季");
        } else {
            System.out.println("不合理的月份输入");
        }

        if (month > 12 || month < 1) {
            System.out.println("没有对应的月份");
        } else if (month >= 3 && month <= 5) {
            System.out.println(month + "月是春季");
        } else if (month >= 6 && month <= 8) {
            System.out.println(month + "月是夏季");
        } else if (month >= 9 && month <= 11) {
            System.out.println(month + "月是秋季");
        } else {
            System.out.println(month + "月是冬季");
        }

    }

二、switch

public static void main(String[] args) {

        // switch类似于选择题,根据题目选择答案
        //// 如果没有break,找到答案之后,下面不再进行判断,继续执行,直至遇到break或者结束switch方法结束的标志}
        int x = 2;

        switch (x) {
        case 1:
            System.out.println("1");
            break;
        case 2:
            System.out.println("2");
            break;
        case 3:
            System.out.println("3");
            break;
        default:
            System.out.println("其它值");
        }


        /*
         if例子中的由月份找季节
         */
        int month = 15;
        if (month >= 1 && month <= 12) {
            switch (month) {
            case 3:
            case 4:
            case 5:
                System.out.println(month + "月是春季");
                break;
            case 6:
            case 7:
            case 8:
                System.out.println(month + "月是夏季");
                break;
            case 9:
            case 10:
            case 11:
                System.out.println(month + "月是秋季");
            default:
                System.out.println(month + "月是冬季");

            }
        }else{
            System.out.println("输入的月份是不合理的");
        }


    }

三、if与switch的比较

if1、对具体的值进行判断
   2、对区间进行判断
   3、对运算结果是boolean类型的表达式进行判断

switch1、对具体的值进行判断,但值的个数是确定的
   2、对于只有几个固定的值进行判断时,建议使用switch语句(会将答案都加载如内存,效率相对高)
   3、实际开发中,一般不怎么用switch,因为其使用比较有限
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值