【问题标题】:Can the return statement execute more than once in Java as opposed to Python?与 Python 相比,Java 中的 return 语句可以执行多次吗?
【发布时间】:2016-05-04 16:45:52
【问题描述】:

考虑到 Python 在一个函数中最多可以执行一次 return 语句,Java 可以多次执行该语句吗?

【问题讨论】:

  • 仅当您多次调用该函数时。
  • 是的。如果你有一个 finally 块。但实际上只有一个值会返回。
  • @ElliottFrisch 否。一个方法可以多个返回语句,但只能执行其中一个。
  • @BackSlash 它可以执行两个,但只有第二个可见。 try { return 1; } finally { return 2; } -- 这两个 return 语句都将被执行。
  • @yshavit,我从没说过,你错了。只是写这样的东西是无意义的。 :)

标签: java python methods return


【解决方案1】:

Java 函数每次迭代只能执行一个 return 语句。

不管你在函数中写了多少返回语句,都会执行在函数遍历路径中找到的第一个。

【讨论】:

    【解决方案2】:

    Java 方法只能在特定实例上返回一个值。

    【讨论】:

      【解决方案3】:

      当你调用一个函数时,一个新的框架被添加到包含该函数的变量、参数等的调用堆栈中。

      当您从 Java(以及我知道的任何其他语言)中的函数返回时,该函数的堆栈帧将从调用堆栈中删除。该函数不再存在(在 John Walgreen 指出的那个特定调用实例中)。

      因此,多次调用 return 没有多大意义(而且这是不可能的)。您可以有多个 return 语句,但在任何给定的函数调用上只会调用一个,具体取决于函数所采用的路径。

      【讨论】:

        猜你喜欢
        • 2017-09-21
        • 2023-03-04
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-07-31
        • 2010-10-09
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多