黑马程序员技术交流社区

标题: null!=pt和pt!=null的区别 [打印本页]

作者: 秦永辉    时间: 2012-6-29 09:55
标题: null!=pt和pt!=null的区别
null !=pt与pt !=null的区别什么什么,pt是一个委托
作者: 许庭洲    时间: 2012-6-29 10:12
1,null !=pt;//变量null不等于委托pt,由于null是关键字 ,所以该句可能编译有问题;
2。pt !=null;//委托不等于空;
作者: 秦永辉    时间: 2012-6-29 11:13
许庭洲 发表于 2012-6-29 10:12
1,null !=pt;//变量null不等于委托pt,由于null是关键字 ,所以该句可能编译有问题;
2。pt !=null;//委 ...

我也觉得有问题,不过
if(null !=pt) //确定委托中有方法
{……}
这是什么意思
作者: 许庭洲    时间: 2012-6-29 11:41
本帖最后由 许庭洲 于 2012-6-29 15:18 编辑
秦永辉 发表于 2012-6-29 11:13
我也觉得有问题,不过
if(null !=pt) //确定委托中有方法
{……}

if(null !=pt){......}//1,判断null不等于pt,若为true执行{......};2,排除委托是空的;3.if(pt!=null){......}是判断pt不为null,若为true,执行{......};
作者: 秦永辉    时间: 2012-6-29 15:12
许庭洲 发表于 2012-6-29 11:41
if(null !=pt){......}//1,判断null不等于pt,执行{......};2,排除委托是空的;

问题就在这里,这样的话跟pt!=null有什么区别
作者: 黑马李果    时间: 2012-7-3 18:31
!=作为一个关系操作符,判断左右两边的操作数是否不相等,那么, 谁左谁右又有什么关系呢? 所以我觉得没什么区别,都是判断是否不为null。 前面有的同学说把null放在前面就会以为null是个变量,又因为null是关键字,造成编译错误; 其实不会的,null永远是关键字,无论其所在位置。
实践是检验真理的唯一标准:

作者: 赵学辉    时间: 2012-7-5 13:07
其实没什么区别!就是用pt !=null可能一不小心把“!”没输上,虽然程序在编译时没有出错,但是逻辑上有错误!而你用null !=pt就不会出现这种错误了!!
作者: 文硕    时间: 2012-7-5 19:07
写程序时没发现有什么区别,关键是一个习惯的问题,用pt != null我感觉更符合我的习惯,有的时候需要注意位置问题,当然,如果明白其原理,就无所谓了,如null !=pt与pt !=null,道理说没什么区别,表达的效果是一样的。




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