zoukankan      html  css  js  c++  java
  • IF与SWITCH

    今晚刚刚看了一点儿《大话设计模式》这本书,看到它示例的第一个程序,好像有点理解IF与SWITCH的区别了。大致的思考了总结出来。

    IF适用于每个条件都必须判断,就是IF语句中的判断是不同类型的,匹配的东西是非互斥的
    而SWITCH中的判断是同类型的,匹配的东西是互斥的
     
    比如判断一个对象是飞机还是坦克,还是战舰,这个对象如果是飞机就不可能是坦克,不可能是战舰,互斥的。
    所以这个判断用SWITCH比较妥当:
    Carrier c = new Carrier();
    switch(c.getType()) {
         case AIRPLANE:
         case TANK:
         case BATTLESHIP:
    }
    这样,一旦作出判断,其它的判断都会失效,就不再判断了。
     
    IF的适用情况,则是非互斥的判断,必须每一个if/else if都判断一次。
    比如对用户输入的判断,判断是否为空,判断是否过长,判断是否过短。
     
    结合SWITCH语句,举一个例子,总体上来说明下,SWITCH和IF的区别。
    UserInput userInput = new UserInput();
    switch(userInput.getType()) {
        case EMAIL_ADDRESS:
            String content = userInput.toString();
            if (content == "") {
                ......
            } else if (content.length < 5) {
                ......
            } else if (content.length > 10) {
                ......
            }
            break;
        case QQ_NUMBER:
            break;
        case NORMAL_USERNAME:
            break;
    }

    粗浅理解,各位看官看看就好,不对的地方还请多多指教。

  • 相关阅读:
    js基础:关于Boolean() 与 if
    @@cursor_rows变量解析
    SQL Prompt
    google android sdk下载hoosts
    java环境配置
    Linux grep用法整理
    bash调试执行
    Vim常见快捷键汇总
    Linux查看磁盘块大小
    Linux Bash终端快捷键小结
  • 原文地址:https://www.cnblogs.com/kross/p/3190411.html
Copyright © 2011-2022 走看看