zoukankan      html  css  js  c++  java
  • 分支语句

    分支语句

    if语句

    • if语句用于根据条件选择执行语句
    • else不能独立存在且总是与它最近的if相匹配
    • else 语句可以连接其他if语句
    • if语句中零值比较的注意点
      • bool型变量应该直接出现于条件,不要进行比较
      • 变量和0值比较时,0值应该在比较符号左边
      • float型变量不能直接进行0值比较,需要定义精度

    switch语句

    • switch 语句对应单个条件多个分值的情形
    • case 语句分支必须要有break,否则会到最后分支重叠
    • default语句有必要加上,以处理特殊情况
    • case语句中的值只能是整形或者字符型
    • case语句的排列顺序
      • 按字母或者数字顺序排列各条语句
      • 正常情况放在前面,异常情况放在后面
      • default语句只用于处理真正的默认情况

    例子:

    #include <stdio.h>
    void f1(int i)
    {
        if( i < 6 )
        {
            printf("Failed!
    ");
        }
        else if( (6 <= i) && (i <= 8) )
        {
            printf("Good!
    ");
        }
        else
        {
            printf("Perfect!
    ");
        }
    }
    
    void f2(char i)
    {
        switch(i)
        {
            case 'c':
                printf("Compile
    ");
                break;
    
            case 'd':
                printf("Debug
    ");
                break;
    
            case 'o':
                printf("Object
    ");
                break;
    
            case 'r':
                printf("Run
    ");
                break;
    
            default:
                printf("Unknown
    ");
                break;
        }
    }
    
    int main()
    {
        f1(5);
        f1(9);
        f1(7);
    
        f2('o');
        f2('d');
        f2('e');
    
        return 0;
    }
    

    结果:

    例子:有趣的角色互换

    #include <stdio.h>
    
    void f1(int i)
    {
        switch( i < 6 )
        {
            case 1:
                printf("Failed!
    ");
                break;
            
            default:
                switch( (6 <= i) && (i <= 8) )
                {
                    case 1:
                        printf("Good!
    ");
                        break;
                        
                    default:
                        printf("Perfect!
    ");
                        break;
                }
                break;
        }
    }
    
    void f2(char i)
    {
        if( 'c' == i )
        {
            printf("Compile
    ");
        }
        else if( 'd' == i )
        {
            printf("Debug
    ");
        }
        else if( 'o' == i )
        {
            printf("Object
    ");
        }
        else if( 'r' == i )
        {
            printf("Run
    ");
        }
        else
        {
            printf("Unknown
    ");
        }
    }
    
    int main()
    {
        f1(5);
        f1(9);
        f1(7);
        
        f2('o');
        f2('d');
        f2('e');
    
        return 0;
    

    这里是将if 语句用switch语句进行改写,switch语句用if语句进行改写,结果一样。

    总结

    • if语句适用于复杂逻辑进行判断的情形中
    • switch语句适用于对离散值进行判断的情形中
    • if语句和switch语句在功能上可以相互替换
    • if语句对于“按片”分支判断的情形更加简洁
    • switch语句对于多分支判断的情形更加简洁
  • 相关阅读:
    httpclient的maven依赖
    阿里云maven仓库镜像
    log4j2在webapp项目中的配置
    web.xml中的filter标签
    mybatis在xml文件中处理大于号小于号的方法
    javaweb(三十八)——mysql事务和锁InnoDB(扩展)
    javaweb(三十八)——事务
    javaweb(三十七)——获得MySQL数据库自动生成的主键
    javaweb学习总结(三十六)——使用JDBC进行批处理
    JavaWeb(三十五)——使用JDBC处理Oracle大数据
  • 原文地址:https://www.cnblogs.com/yanyun888/p/6061247.html
Copyright © 2011-2022 走看看