【发布时间】:2015-07-25 06:52:50
【问题描述】:
我正在用 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语句不需要大括号。如果它们不存在,则如果子句为真,则将使用下一个参数,并且仅使用下一个参数。你的 else 语句也是如此。如果没有括号,则只有下一条语句是 else 子句的一部分,其他任何内容都不会被视为您的if...else...语句的一部分 -
大括号用来封装代码块。使用带有适当缩进的括号通常是一个好主意,这样读者就可以清楚地知道什么代码属于哪里。如果语句不使用大括号表示单行可能会因节省的 2 或 3 个字节而感到自豪,但是我发现它是在代码中引入错误的最简单方法之一,因为小的输入错误很容易改变大大量的逻辑。
标签: java if-statement curly-braces