• 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;
    }

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

  • 相关阅读:
    数位dp
    可持久化Trie
    网络流
    欧拉定理
    点、边双,圆方树
    [USACO5.3]窗体面积Window Area
    6.2三道模拟
    BZOJ2054 疯狂的馒头
    [USACO5.1]夜空繁星Starry Night
    [USACO5.1]乐曲主题Musical Themes
  • 原文地址:https://www.cnblogs.com/kross/p/3190411.html
Copyright © 2020-2023  润新知