If statement 如果没有其他,则返回其他;

If statement 如果没有其他,则返回其他;,if-statement,return,If Statement,Return,我很想知道这两个代码之间有什么区别: if(some condition) {some code} else {return;} if(some condition) {some code} 该代码: if(some condition) {some code} else {return;} if(some condition) {some code} 两个if都是相同的,只有一个不带else,另一个带else{return;} 自从这次归来,我感到困惑;不返回任何值,只是留下这段代码还

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

if(some condition) {some code} else {return;}
if(some condition) {some code}
该代码:

if(some condition) {some code} else {return;}
if(some condition) {some code}
两个if都是相同的,只有一个不带else,另一个带else{return;}
自从这次归来,我感到困惑;不返回任何值,只是留下这段代码还是执行其他操作?

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

两个if语句之间的主要区别如下

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

在第二种情况下,即如果没有其他选项,则无论if条件的计算结果是true还是false,代码执行都将继续到方法或程序的末尾,然后返回调用方-除非在if条件的…某些代码部分中有返回,在这种情况下,代码执行将终止并返回给调用方

如果我们举一个更广泛的例子来强调差异

案例1: 在这种情况下。。。如果ifcondition的计算结果为false`,则将永远不会执行更多的代码

案例2:
在这种情况下。。。无论ifcondition的计算结果是True还是False,都将始终执行更多的代码。。。除非您在if`条件中有一个返回,在这种情况下,如前面在案例1中所述,代码执行将返回到调用的方法/函数。

取决于代码的其余部分:如果if后面有某个内容并且应该跳过,然后,语句1的效果与语句2的效果不同,它们都会退出包含该返回语句的方法,而不仅仅是退出包含该返回语句的块。如果您的return语句不包含表示包含方法返回void的值-否则,当您尝试在没有值的情况下返回时,将出现编译错误。谢谢Shiva,您的回答完全解决了我的问题。