Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/346.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 第二个代码是否可以按原来的方式缩短?_Java_If Statement - Fatal编程技术网

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)
更容易忽略否定,因此后者更可取。无论你的偏好如何,你都应该始终如一地应用它。我个人并没有使用
==
编写这样的比较,但我知道非常有经验的开发人员都相信这一点。这当然没有什么问题。在我看来,每一个冗余代码都是不好的做法。但我明白你的意思。是的,这是我放弃的战斗之一。现在我只让他们进行
==
比较:)。