A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 侯慧杰 中级黑马   /  2012-7-9 09:39  /  1570 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文


条件:0==a 和a==0为什么说前者比后者要好,好在哪里???有什么区别???

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

4 个回复

倒序浏览
1,if(0==a )//判断0是否为a
2,if(a==0 )//判断a是否为0
3,很显然判断语句对0==a已经对a变量进行判0操作了,而a==0还没有对a进行判0操作;

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
a是变量,0是字面量
写成0==a是为了想判断a与0是否相等,即判断a==0这个表达式是否正确的另一种写法
因为有些初学者在判断是否相等时容易写成 a = 0,这样的式子,但他其实是想表达是 a == 0,但是由判断写成了赋值,这样写的话编译器不会报错,因为 等号是右结合的,字面量0是可以赋值给变量a的,程序出错了不容易查出来,
如果写成0=a,这样的表达式,因为变量无法赋值给字面量,所以如果想判断是否相等,但是却写成了赋值,在编译的时候就会报错。这样更容易找出错误。
if(0==a)和 if(a == 0)都没有区别,只是习惯问题只是 写成 0 == a在判断是否相等时更安全。

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
许庭洲 发表于 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:04
a是变量,0是字面量
写成0==a是为了想判断a与0是否相等,即判断a==0这个表达式是否正确的另一种写法
因为有 ...

学习一下,顶。。。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马