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语句中整型变量与零值作比较

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

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)

IF(P!=NULL)

不同的形式代表不同的含义,因此要正确的表达想要表达的意思,应该用正确的方式写代码。

本文出自 “dream” 博客,转载请与作者联系!

用正确的方式写if语句——与零值作比较相关推荐

  1. Mybatis写SQL语句update返回值为null

    这很奇怪哈,明明写的是update语句怎么会返回null呢,就算没有更新成功也会返回0嘛,经过百度发现,这种情况的话一般从两个方面来考虑 1.SQL语句写错了,(很粗心!!!)博主就是这个情况 简直想 ...

  2. C++ 智能指针的正确使用方式

    C++11 中推出了三种智能指针,unique_ptr.shared_ptr 和 weak_ptr,同时也将 auto_ptr 置为废弃 (deprecated). 但是在实际的使用过程中,很多人都会 ...

  3. Python Matplotlib绘图的正确打开方式

    Python Matplotlib绘图的正确打开方式 文章目录 Python Matplotlib绘图的正确打开方式 1.先搞懂fig.axes.axis `Figure` `Axes` `Axis` ...

  4. Kotlin 静态内部类单例模式的正确实现方式

    本篇是对现网上流传的 Kotlin 实现静态内部类单例模式的纠正,为了把原理说清楚,文章前奏可能会有些长,熟悉静态内部类单例模式原理的朋友,可以直接跳转到文章最后,直接看结果即可. 最近在整理基础库的 ...

  5. javascript 编码规范 用更合理的方式写 javascript

    目录 类型 引用 对象 数组 解构 Strings 函数 箭头函数 构造器 模块 Iterators and Generators 属性 变量 Hoisting 比较运算符和等号 代码块 注释 空白 ...

  6. 指针变量p与“零值”进行比较的if 语句怎么写?

    指针变量p与"零值"进行比较的if 语句怎么写?  int* p = NULL;//定义指针一定要同时初始化 A), if(p == 0); if(p != 0);  B), if ...

  7. python四舍五入round_四舍五入就用round( )?Python四舍五入的正确打开方式!

    四舍五入就用round( )?Python四舍五入的正确打开方式! 2018-09-22 21:40 阅读数 4 <>round( )函数简介 菜鸟教程中介绍到,round() 函数作用就 ...

  8. android 数组指针异常,Android JSON解析Json数组是[]在解析时抛出空指针异常,如何以正确的方式写入?...

    我有复杂的API,我解析并显示在列表视图中,我将努力解析JSONArray.Here我将在斗争之后Json数组这是在帖子json对象"tags_name":["Activ ...

  9. 平舌音 Z C S 的正确发音方式

    平舌音 Z C S 的正确发音方式: 舌尖抵住下齿龈或下齿背,舌叶隆起抵住上齿龈(上齿背)或硬腭前部. 舌叶离开上齿龈(上齿背)或硬腭前部,形成缝隙,气流摩擦而成音. "上齿背"成 ...

最新文章

  1. 喜大普奔!GitHub官方文档推出中文版
  2. Django 之Form
  3. 一些恶意软件的分析收集整理
  4. 『Golang』Martini框架入门
  5. JDK 11:新的默认收集方法toArray(IntFunction)
  6. 【洛谷】【二分答案+最短路】P1462 通往奥格瑞玛的道路
  7. Go bufio.Reader 结构+源码详解
  8. iPad不完美?盖茨的酸葡萄心理
  9. html资源文件放在哪里,09 Spring Boot开发web项目之静态资源放哪里?
  10. 前端大神:如何看待 React Server Components?
  11. ImageNet 数据集
  12. 没想到Sharding-Jdbc竟然这么牛逼!一键实现读写分离、分库分表~
  13. P2731 骑马修栅栏 欧拉函数
  14. java代码生成流程图,赶紧收藏!
  15. python处理词项的停用词_词项邻近 停用词 词干还原
  16. selenium反爬
  17. 20.SPDY_QUIC_HTTP2_HTTP3
  18. CR95HF操作命令介绍
  19. 使用 JDBC 连接不同版本 DB2 数据库的兼容性问题
  20. rl滤波器原理_RL低通滤波器的原理是什么

热门文章

  1. 计算机只有网盘没有硬盘,计算机硬盘被占用但是看不到文件的解决方法
  2. 基于Mininet,搭建简单的sFlow测试环境
  3. aix系统日志服务器,AIX系统日志
  4. 企业选择SOP作业指导书系统的目的和意义
  5. apdl与传统计算机语言,用Ansys APDL语言实现复杂边界条件的加载
  6. jQuery 一次定时器_Jmeter常用定时器的使用 - 小孙同学
  7. 中级软件设计师考试(软考中级)网络与信息安全基础
  8. 【Matlab代码】用ezplot函数绘制
  9. 整数划分java_整数划分问题及其算法
  10. usmssosetup 单点登录被禁用_SSO单点登录三种情况的实现方式详解