我正在用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)
}
答案 0 :(得分:6)
例如:
if (something) if (something else) ... else (blah blah)
与:
相同if (something) { if (something else) ... else (blah blah) }
在这种情况下,是的,它们是相同的,但前者比后者更难阅读。我建议总是使用大括号,即使是由单行组成的代码块。
答案 1 :(得分:2)
else if
的大括号,则else if
始终属于最里面的 if
语句。
if
与else if
和else
匹配要容易得多
if (var1 == 1) {
action1();
}
else if (var1 == 2) {
action2();
}
else if (var1 == 3) {
if (var2 == 1) {
action31();
}
else if (var2 == 2) {
action32();
}
}
答案 2 :(得分:2)
对于Java,花括号对于if-else语句是可选的。正如Jared所说,只有在省略花括号时才会执行下一个语句。
通常,大括号有助于代码的组织和可读性,因此通常会使用它们。
答案 3 :(得分:0)
我的问题是:将它写成:
是否相同
您需要询问的事实是使用大括号的一个非常好的理由。代码,编译器和任何可能需要阅读和推理代码的人,包括你自己未来的自我,总会有两个观众。
通常,编译器不需要大括号,但增强了其他受众的可读性。
答案 4 :(得分:0)
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;