[英]Curly braces in if-else blocks
我用java编程,我碰巧发现自己:
if(nodo == null) return null;
else if(nodo.izquierda!=null && nodo.derecha==null)
return nodo.izquierda;
else if(nodo.izquierda==null && nodo.derecha!=null)
return nodo.derecha;
else return null; // si ambos hijos son nulos o no nulos
我的问题是:将它写成:
if(nodo == null)
return null;
else {
if(nodo.izquierda!=null && nodo.derecha==null)
return nodo.izquierda;
else {
if(nodo.izquierda==null && nodo.derecha!=null)
return nodo.derecha;
else return null; // si ambos hijos son nulos o no nulos
}
}
最重要的是我对如何使用if-else块的花括号感到困惑。 使用花括号是必要的吗?
例如:
if (something)
if (something else)
...
else (blah blah)
是这样的:
if (something)
{
if (something else)
...
else (blah blah)
}
例如:
if (something) if (something else) ... else (blah blah)
是这样的:
if (something) { if (something else) ... else (blah blah) }
在这种情况下,是的,它们是相同的,但前者比后者更难阅读。 我建议总是使用大括号,即使是由单行组成的代码块。
else if
省略括号,则else if
始终属于最内层的 if
语句。 if
有else if
和else
匹配, if
就更容易匹配缩进对齐的大括号。 if (var1 == 1) { action1(); } else if (var1 == 2) { action2(); } else if (var1 == 3) { if (var2 == 1) { action31(); } else if (var2 == 2) { action32(); } }
对于Java,花括号对于if-else语句是可选的。 正如Jared所说,只有在省略花括号时才会执行下一个语句。
通常,大括号有助于代码的组织和可读性,因此通常会使用它们。
我的问题是:将它写成:
您需要询问的事实是使用大括号的一个非常好的理由。 代码,编译器和任何可能需要阅读和推理代码的人,包括您自己的未来自我,总会有两个受众。
通常,编译器不需要大括号,但增强了其他受众的可读性。
if(nodo != null)
if(nodo.izquierda != null && nodo.derecha == null)
return nodo.izquierda;
else if(nodo.izquierda == null && nodo.derecha != null)
return nodo.derecha;
return null;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.