• 与“零值”作比较的 if 语句。


    笔试时候遇到的问题,在此做一下记录。

    1.if语句中的布尔变量与零值作比较

        不能用布尔变量与true,false,1,0直接作比较。布尔变量类型的语义是:零值为“假”,任何非零值都表示“真”。因为true的值并没有唯一的标准,因此不能用布尔变量与它直接进行比较。

        假设布尔变量为flag,那么它与零值进行比较时if语句应该是 
        if(flag)\表示如果flag为真
        if(!flag)\表示如果flag为假
    不能用以下的这些方法
        if(flag==1)
        if(flag==true)
        if(flag==false)
        if(flag!=0)

    2.if语句中 int 变量与零值作比较

        整型变量中应该用“==”“!=”直接与零作比较,例如:

       if(value==0)

       if(value!=0)

    不应该用

       if(value)

       if(!value)

     这样容易被误解为value是布尔变量。

    3.if语句中浮点变量与零值作比较
    不能将浮点变量用“==”    “!=”与任何数字作比较。
    float和double类型的变量都有精度限制。应该用“>=”“<=”的形式进行比较。
    应为
       if((x>=-MIN) && (x<=MIN))
      MIN可以是0.00000001。
    不能直接
      if(x==0.00)


    4.if语句中指针变量与零值作比较
      指针变量的零值是“空”,因此应该与“NULL”作比较。虽然“NULL”代表0,但是有不同的意义。
    if语句如下:
      if(p==NULL)
     
    不同的形式代表不同的含义,因此要正确的表达想要表达的意思,应该用正确的方式写代码。

    参考:https://blog.csdn.net/xyzbaihaiping/article/details/51124943

  • 相关阅读:
    hbase 学习笔记一---基本概念
    hdu 4496 (并差集)
    rqnoj-105-核电站问题-dp
    面试之BI-SQL--table转换
    Android:从程序员到架构师之路Ⅲ_高焕堂
    Linux 的进程组、会话、守护进程
    Oracle创建dblink报错:ORA-01017、ORA-02063解决
    JSP 指令
    JSP 生命周期
    JSP 结构
  • 原文地址:https://www.cnblogs.com/jason-linux/p/10603549.html
Copyright © 2020-2023  润新知