假设我有以下代码:
public class Test{
public static void main(String arguments[]){
if(true){
System.out.println("Hello, world!");
}
}
}
这样做会更有效:
public class Test{
public static void main(String arguments[]){
if(true) System.out.println("Hello, world!");
}
}
除了惯例之外,第一种方法是否有更常用的原因?
答案 0 :(得分:2)
要回答你的问题,两个约定之间的效率没有差别,但我强烈建议使用大括号,因为代码看起来格式化,任何程序员(菜鸟专家)都很容易快速扫描你的码。
此外,通过确保条件为真或假(或其他部分)时需要执行的所有语句组合在一起,大括号还有助于避免非常难以调试的逻辑错误。
答案 1 :(得分:1)
从不 省略大括号。的 从不 即可。如果我每次看到有人在这里发布一个问题,因为省略了大括号而烧伤了,我就会吃几顿饭。
你现在可能知道 你的意图是什么,但是等几个月,回来看看你是否注意到缺失的支撑。然后你会遇到奇怪的问题,其中只运行条件的第一个语句,其余的都是执行的。 2次击键(如果你有一个好的IDE,则为1次)和你保存的一行不值得在路上遇到这种可能的麻烦。
无论如何,保存一条线是一个错误的胜利,因为它很少有助于提高可读性。
答案 2 :(得分:0)
首次输入时,不会更有效率,除非非常轻微。编译时间差异非常小,根本没有执行时间的好处。
答案 3 :(得分:-1)
了解其中一个是否更有效的一种可靠方法是分别运行很多次代码(可能是百万或更多),然后计算每次运行所花费的平均时间。在所有可能性中,您会发现从长远来看,这两段代码每次运行所花费的时间相同,因为这两个代码都会产生相似的字节码(如果不相同)。
关于其中一个更常见的第二部分 - 这是基于意见的。就个人而言,如果它是if-block之后的一行,我将删除括号并将该行拉到if-block旁边,使其看起来像if(condition) mystatement;
,否则我将括号括起来。