Java if语句两种写法的区别

Java if语句两种代码什么区别?

/*第一种写法*/
public boolean test_1(int a, int b){
    if(a==b){
        //一些操作
        return true;
    }else{
        //另一些操作
        return false;
    }
}

/*第二种写法*/
public boolean test_2(int a, int b){
    if(a==b){
        //一些操作
        return true;
    }
    //另一些操作
    return false;
}

第一种写法

/*第一种写法*/

public boolean test_1(int a, int b){
if(a==b){
//一些操作
return true;
}else{
//另一些操作
return false;
}
}

这种写法

基础的——如果否则

如果变量A = 变量 B 为真

return true

如果变量A = 变量 B 为假

return false

很简单的逻辑

第二种写法

/*第二种写法*/

public boolean test_2(int a, int b){
if(a==b){
//一些操作
return true;
}
//另一些操作
return false;
}



这种写法

单如果语句

如果变量A = 变量 B 为真

return true

如果变量A = 变量 B 为假

执行不到if语句里的return true

那么程序没停止,代码继续往下走,return false 了

一般这种情况出现于 文本校验

判断 变量A == 变量B ,如果 为真就走 if里的语句

如果判断为假,不执行if中的语句,继续执行if的外层代码

一种是 如果为真走true,否则走false

一种是 如果为真走true,没有否则,随便你怎么样走下面的代码~

编译

几乎没有任何区别。

  public boolean test(int, int);
    descriptor: (II)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
         0: iload_1
         1: iload_2
         2: if_icmpne     7
         5: iconst_1
         6: ireturn
         7: iconst_0
         8: ireturn

对于编译器来说,没有任何区别。

对于日后维护,第二种写法更好一些。

对于读代码的人来说,第二种写法更容易理解一些。

  • 第一种写法:

其实就是

return a == b;

非黑即白,true 做一些事情,false 做一些事情。

  • 第二种写法:

return false 是个兜底操作,return true 是在某个判断条件下提前结束了方法执行。工程上的代码多如这种:

展开阅读全文

本文系作者在时代Java发表,未经许可,不得转载。

如有侵权,请联系nowjava@qq.com删除。

编辑于

关注时代Java

关注时代Java