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删除。