作为自己学习编程的人和一些关于不同api等的wiki文章我有一个问题!
我见过人们会做这样的if语句:
if(bool)
return false;
这是一种更容易/更快的方法吗?
if(bool) {
return false;
}
这是否意味着它只执行到分号(只有一行)?
答案 0 :(得分:2)
在这种情况下使用花括号的主要原因是为了避免在返回并向if语句添加其他逻辑时出现问题。如果你添加另一行代码但忘记放入大括号,它将不会按照你期望的方式运行。我总是使用花括号作为单行if语句来避免这个问题,即使它在编译器方面是可选的。
答案 1 :(得分:0)
是的,确实如此。例如,
if(bool)
bool=false;
someothervar=true;
不会像
那样执行if(bool){
bool=false;
someothervar=true;
}
因为如果Java编译器没有读取分号,那么它只会执行下一个语句。在这种情况下,在第一个示例中,someothervar
将始终设置为true
,而在第二个示例中,如果条件为someothervar
,true
将仅设置为true
{{1}}。
答案 2 :(得分:0)
是的,可以这样做。这两个语句的功能是相同的。它实际上只能归结为个人对代码外观的偏好。请记住,您应该坚持使用您在代码中选择的任何约定来保持一致性。请记住
if(bool) return false;
也会做同样的事情,并且(在我看来)在以后编辑所述代码时也不易出错。如果您选择以这种方式格式化代码,请注意
形式的内容if(value)
for(int i;i<x;i++)
x=i;
在语法上是有效的,但不应该被使用,因为它只会混淆(在我看来)。