java的判断语句“true == varstd”比“varstd == true”好在哪里?

来源:百度知道 编辑:UC知道 时间:2024/06/10 12:24:32
请尽快回答。谢谢。

把常量(或公式)写在前面的好处:当把==写为=的时候程序会报错,而不是错误的执行。

无语了。
既然是有上面的关系运算,则能确定varstd是个boolean型数据。
既然如此,更好的办法是:直接使用varstd。因为它是boolean数据,本身就是一个逻辑条件,就能够充当判断依据。比如:if(varstd){}或while(varstd){}
为什么还非要弄个true==varstd或varstd==true呢?这2个关系运算即多输入了源代码,而且增加了出错机会,在运行时,还会多取一次数据,多一次关系运算。无论是哪方面都是不可取的!
如果按这种差的写法,为什么不把true==varstd写成true==(true==(true==(true==(true==varstd)))),把if("weiyi".equals(name))写成if("weiyi".equals(name)==true),把if(x>y)写成if((x>y)==true)呢?多此一举!

应该说你这样的思想有好处 只是你这个例子体现的不明白
在这样的情况下 你这样的思想好处体现出来了
比如
String name = "weiyi";
if("weiyi".equals(name))
System.out.println("名字相符");
//------------------------------------------------
String name = "weiyi";
if(name.equals("weiyi"))
System.out.println("名字相符");

分割线上面的代码 比下面的代码在逻辑上没有区别 但是上面的代码更健壮,避免了在name变量为null 时抛nullponitexception

如果把true == varstd,写成true = varstd,就会报错,而把varstd =