Java一行if语句

时间:2013-11-21 09:12:53

标签: java

我正在使用if中没有大括号的条件,如

if(somecondition)
//Only one line Business logic

但有些人告诉我们使用大括号总是连一行这样的语句

if(somecondition){
//Only one line Business logic 
}

根据java sandard,更好的方法是什么?

8 个答案:

答案 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更好,因为如果它们不存在,编译器必须解决更多问题,也会出现性能问题。