Java 第二个代码是否可以按原来的方式缩短?
//考虑以下代码:Java 第二个代码是否可以按原来的方式缩短?,java,if-statement,Java,If Statement,//考虑以下代码: boolean rez = true; if( rez == true ) System.out.println( "result is true!" ); boolean rez = true; if( rez ) System.out.println( "result is true!" ); //将其与以下代码进行比较: boolean rez = true; if( rez == tr
boolean rez = true;
if( rez == true )
System.out.println( "result is true!" );
boolean rez = true;
if( rez )
System.out.println( "result is true!" );
//将其与以下代码进行比较:
boolean rez = true;
if( rez == true )
System.out.println( "result is true!" );
boolean rez = true;
if( rez )
System.out.println( "result is true!" );
//这两者的区别是什么?它们都有效吗?都有效,因为
如果(rez)
总是返回true,您可以在java条件语句中查看更多示例:)是,它们都有效。但首先是坏习惯
区别在于rez==true
是冗余的。
这就像说
if(true==true)
,布尔值不需要这样比较。如果语句只取一个参数,1
或0
(true
或false
)
语句rez==true
的计算结果为true
,这就是如果语句看到一个true,表示是,那么就这样做。在Java中,它们是完全相同的。但你很少看到第一个,因为它是相当多余的。两者都是相同和有效的。第二是最好的way@gjman2-但是凯帕尼说第一个更漂亮!在第一个例子中运行的计算时间更多。@user2930207,一点也不,试着用谷歌搜索一下itI,如果(rez==true)
,我不会说写是不好的做法;有人可以合理地说,在阅读if(!rez)
时,比if(rez==false)
更容易忽略否定,因此后者更可取。无论你的偏好如何,你都应该始终如一地应用它。我个人并没有使用==
编写这样的比较,但我知道非常有经验的开发人员都相信这一点。这当然没有什么问题。在我看来,每一个冗余代码都是不好的做法。但我明白你的意思。是的,这是我放弃的战斗之一。现在我只让他们进行==
比较:)。