如果没有别的,否则返回;

时间:2015-07-11 22:41:52

标签: if-statement return

我很想知道这段代码之间有什么区别:

if(some condition) {some code} else {return;}

和这段代码:

if(some condition) {some code}

两个if只有一个没有else而另一个没有else {return;} 我很困惑,因为这回归;没有返回任何值,它只是留下这段代码还是做其他事情?

2 个答案:

答案 0 :(得分:3)

您的2 if语句之间的主要区别如下

在第一种情况下,即如果if else子句表示return,如果代码执行进入else部分,那么它将终止于return并返回调用者 - 这可能是另一种方法或函数。

在第二种情况下,即if没有else的情况,无论if条件是评估为true还是false,代码执行将继续到方法或程序的末尾,然后返回给调用者 - 除非你在if条件的...some code部分中有一个返回,在这种情况下代码执行将终止并返回给来电者。

如果我们采取更广泛的例子来强调差异。

案例1:

// beginning of code block
{
    if(some condition) 
    {
        // some code
    } 
    else 
    {
        return;
    }
    // ... some more code
} // end of the method / code block

在这种情况下,如果... some more code will never be executed if the为false,则为condition evaluates to

案例2:

// beginning of code block
{
    if(some condition) 
    {
        // some code
    } 
    // ... some more code
} // end of the method / code block

在这种情况下,... some more code will be always executed regardless of whether the如果condition evaluates to为真or false ... unless you have a return within the if条件,在这种情况下,如前面在案例1中所述,代码执行将返回到调用方法/功能。

答案 1 :(得分:0)

其他部分是差异。根据你的设置判断,我会说第一个基本上是说条件为TRUE-执行代码ELSE返回FALSE。第二个是说条件是否为TRUE执行代码。这意味着如果条件为FALSE,则不会返回FALSE值。