ITPub博客

首页 > 应用开发 > Java > 为什么if语句判断相等(==)时,习惯把常量写前面

为什么if语句判断相等(==)时,习惯把常量写前面

Java 作者:huojiao2006 时间:2016-01-25 11:44:27 0 删除 编辑

在很多程序中我们会发现这样的情况:

if(1 == $x){

….

}

为什么要把1这个常量写前面呢?这跟x==1有什么区别?

这是一直以来的置疑,后来发现这不止是我一个人在置疑!其实关于这一点,前辈们已经争议了很多年。暂且不说怎么写好,我就说说当初这个习惯为什么会形成的吧。

如果我们写if($x==1),在写的过程中经常会不小心写成if($x=1),我想这点不用置疑了,大家肯定都犯过的错误。因为$x=1是个合法的赋值语句,程序运行中不会报错,简短的程序我们很容易发现这个错误,如果几万行代码的一个系统,那想找出这个错误是很难的。所以某些前辈就建议我们这样写: if(1==$x)。

首先,这样写会与赋值语句的书写形式区分开,降低出错的可能性;然后如果我们实在脑子短路写成if(1=$x)的话,程序会报错(赋值语句等号前面必须为变量,语法错误)。

当然这只是一个习惯问题,并不强制大家使用,或许你有更好的方法,写这篇博文只是想告诉大家这个习惯怎么来的。写自己的代码,让无聊的人争议去吧!

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/21634320/viewspace-1981868/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2009-05-19

  • 博文量
    28
  • 访问量
    57052