黑马程序员技术交流社区

标题: if条件问题?? [打印本页]

作者: 侯慧杰    时间: 2012-7-9 09:39
标题: if条件问题??

条件:0==a 和a==0为什么说前者比后者要好,好在哪里???有什么区别???
作者: 许庭洲    时间: 2012-7-9 09:47
1,if(0==a )//判断0是否为a
2,if(a==0 )//判断a是否为0
3,很显然判断语句对0==a已经对a变量进行判0操作了,而a==0还没有对a进行判0操作;
作者: 常静华    时间: 2012-7-9 10:04
a是变量,0是字面量
写成0==a是为了想判断a与0是否相等,即判断a==0这个表达式是否正确的另一种写法
因为有些初学者在判断是否相等时容易写成 a = 0,这样的式子,但他其实是想表达是 a == 0,但是由判断写成了赋值,这样写的话编译器不会报错,因为 等号是右结合的,字面量0是可以赋值给变量a的,程序出错了不容易查出来,
如果写成0=a,这样的表达式,因为变量无法赋值给字面量,所以如果想判断是否相等,但是却写成了赋值,在编译的时候就会报错。这样更容易找出错误。
if(0==a)和 if(a == 0)都没有区别,只是习惯问题只是 写成 0 == a在判断是否相等时更安全。
作者: 侯慧杰    时间: 2012-7-9 10:09
许庭洲 发表于 2012-7-9 09:47
1,if(0==a )//判断0是否为a
2,if(a==0 )//判断a是否为0
3,很显然判断语句对0==a已经对a变量进行判0操作 ...

额额额。。。相对来说 额还是 比较赞同常静华的说法。。。。
作者: 常邦存    时间: 2012-7-9 10:40
常静华 发表于 2012-7-9 10:04
a是变量,0是字面量
写成0==a是为了想判断a与0是否相等,即判断a==0这个表达式是否正确的另一种写法
因为有 ...

学习一下,顶。。。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2