Java 使用返回函数的低层分析
在Java中,当您使用Java 使用返回函数的低层分析,java,Java,在Java中,当您使用返回时,在低级别上会发生什么语句,而不是让函数通过到达其末端而结束?有什么区别吗 例如,可能存在一些逻辑差异(和编译时ISSE),例如 public void foo() { if (true) { return; } doSomething(); } 在这一点上,我们永远不会执行doSomething()。然而,这不是我所说的。我说的是: public void foo1() { doSomething(); re
返回时,在低级别上会发生什么在void
函数中的code>语句,而不是让函数通过到达其末端而结束?有什么区别吗
例如,可能存在一些逻辑差异(和编译时ISSE),例如
public void foo() {
if (true) {
return;
}
doSomething();
}
在这一点上,我们永远不会执行doSomething()
。然而,这不是我所说的。我说的是:
public void foo1() {
doSomething();
return;
}
vs
在机器级别处理这一问题的方式有什么不同吗?指的是这一点
任何声明为void的方法都不会返回值
向此类方法添加“return”语句是可选的
“return”语句的唯一目的只是从控制流块中分支并退出该方法
public void foo1() {
return;
doSomething(); //compiler error.
}
所以,
public void foo1() {
doSomething();
return;
}
及
在技术上是相同的。指的是这个
任何声明为void的方法都不会返回值
向此类方法添加“return”语句是可选的
“return”语句的唯一目的只是从控制流块中分支并退出该方法
public void foo1() {
return;
doSomething(); //compiler error.
}
所以,
public void foo1() {
doSomething();
return;
}
及
在技术上是相同的。在Intellijb中显示的foo1
和foo2
的字节码是相同的foo1
和foo2
在Intellijb中显示的字节码是相同的