Java一行if语句

我正在使用if条件没有大括号的java之类的东西

if(somecondition) //Only one line Business logic 

但有些人告诉我们使用括号总是甚至一行语句

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

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

没有真正的“标准”。 我更喜欢总是使用大括号,因为如果你没有冒险,有人会添加一个无辜的日志记录声明来转换你的代码

 if(somecondition) //Only one line Business logic 

 if(somecondition) log.debug("condition was true"); //Only one line Business logic 

然后事情停止工作:-)

这是一个品味问题。 我会使用大括号或者没有大括号,但是将所有代码写在一行中以提高可读性。

您也可以考虑使用三元运算符

 booleanExpression ? value1 : value2 

除了@radai的回答,如果你是一个真正邪恶的头脑,当你看到一个没有大括号的时候,你可以通过在if的同一行但在第800列添加一个分号来做一些会让你成为敌人的东西线(或某事)。

喜欢

 if(condition) /*a loooot of whitespace*/ ; //Only one line Business logic that will get executed whatever is the condition 

这就是为什么我更喜欢使用大括号并建议人们使用它们

没有赤裸裸的if语句。 你只是在寻找麻烦。 始终使用{}

在检查错误或更新代码时最好使用大括号。

想像。

 if(answer.equals("add")) addedValue += Scanner.readInt(); 

但是你有一个新要求只添加绝对值,所以你改为。

 if(answer.equals("add2)) valueToBeAdded = Scanner.readInt(); if(valueToBeAdded < 0) valueToBeAdded = - valueToBeAdded; addedValue += valueToBeAdded; 

这不是一个非常正确的算法,只是可以发生的事情的一个例子。

使用带有大括号的if语句是更好的java标准方法,因为它增加了可读性并减少了不必要的错误。

这两个陈述具有完全相同的效果,但我经常因缺少括号而受到影响,我也经常评论即使在1行陈述中也应该有括号。 这使得代码更易于维护,并且可以节省很多麻烦。 我的经验表明,一行if语句在以后的迭代中经常变成多行语句,所以你不会写两个{第一次,你稍后会给出的。

根据java标准,braces更好,因为如果它们不存在,编译器必须解决更多问题,也会出现性能问题。