[英]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.