我正在使用if中没有大括号的条件,如
if(somecondition)
//Only one line Business logic
但有些人告诉我们使用大括号总是连一行这样的语句
if(somecondition){
//Only one line Business logic
}
根据java sandard,更好的方法是什么?
答案 0 :(得分:16)
没有真正的“标准”。我更喜欢总是使用大括号,因为如果你不冒险,有人会添加一个无辜的日志记录声明,从而转换代码
if(somecondition)
//Only one line Business logic
到
if(somecondition)
log.debug("condition was true");
//Only one line Business logic
然后事情就停止了: - )
答案 1 :(得分:9)
这是一个品味问题。我会使用大括号或没有大括号,但将所有代码写在一行中以提高可读性。
您也可以考虑使用三元运算符
booleanExpression ? value1 : value2
答案 2 :(得分:4)
除了@radai的回答,如果你是一个真正邪恶的心灵,当你看到一个没有大括号的时候你可以通过在if的同一行添加一个分号来做一些会让你成为敌人的东西。该行的第800列(或其他)。
喜欢
if(condition) /*a loooot of whitespace*/ ;
//Only one line Business logic that will get executed whatever is the condition
这就是为什么我更喜欢使用大括号并建议人们使用它们
答案 3 :(得分:3)
没有赤裸裸的if语句。你只是在寻找麻烦。始终使用{}
答案 4 :(得分:2)
最好在检查错误或更新代码时使用大括号。
想象。
if(answer.equals("add"))
addedValue += Scanner.readInt();
但是你有一个新要求只添加绝对值,所以你改为。
if(answer.equals("add2))
valueToBeAdded = Scanner.readInt();
if(valueToBeAdded < 0) valueToBeAdded = - valueToBeAdded;
addedValue += valueToBeAdded;
这不是一个非常正确的算法,只是可以发生的事情的一个例子。
答案 5 :(得分:1)
使用带括号的if语句是更好的java标准方法,因为它可以提高可读性并减少不必要的错误。
答案 6 :(得分:1)
这两个陈述具有完全相同的效果,但我经常因缺乏括号而受到影响,我也总是评论说即使在1行陈述中也应该有括号。这使代码更易于维护,并且可以节省很多麻烦。我的经验表明,一行if语句在以后的迭代中经常变成多行语句,所以你不会在第一次写两个{
时保存,你稍后会给出。
答案 7 :(得分:0)
根据java标准,braces更好,因为如果它们不存在,编译器必须解决更多问题,也会出现性能问题。