Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/387.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 需要理解的是,retun语句后为什么会返回到第二行 公共类CoreTest{ /** *@param args */ 公共静态void main(字符串[]args){ 系统输出打印LN(图(60)); } 公共静态int goFigure(int x) { 如果(x_Java - Fatal编程技术网

Java 需要理解的是,retun语句后为什么会返回到第二行 公共类CoreTest{ /** *@param args */ 公共静态void main(字符串[]args){ 系统输出打印LN(图(60)); } 公共静态int goFigure(int x) { 如果(x

Java 需要理解的是,retun语句后为什么会返回到第二行 公共类CoreTest{ /** *@param args */ 公共静态void main(字符串[]args){ 系统输出打印LN(图(60)); } 公共静态int goFigure(int x) { 如果(x,java,Java,上面是java代码,有一个名为goFigure()的java方法。我从main方法调用了这个方法。这里我得到的输出是95 我调试这段代码,但面临疑问,即在执行return语句后,它将转到x=goFigure(x+10)。我们需要理解为什么会这样 请让我了解这个概念 public class CoreTest { /** * @param args */ public static void main(String[] args) { Syst

上面是java代码,有一个名为goFigure()的java方法。我从main方法调用了这个方法。这里我得到的输出是95

我调试这段代码,但面临疑问,即在执行return语句后,它将转到
x=goFigure(x+10)
。我们需要理解为什么会这样

请让我了解这个概念

public class CoreTest {

    /**
     * @param args
     */
    public static void main(String[] args) {
        System.out.println(goFigure(60));
        }

    public static int goFigure(int x)
    {
    if (x < 100)
     x = goFigure(x + 10);

    return (x - 1);
    }
}
每个调用都有自己的参数x(可能还有局部变量)

因此,从60次到100次,需要5次递归调用,60+4*10+5*-1=95it@MarounMaroun
     goFigure(60)
         goFigure(70)
             goFigure(80)
                 goFigure(90)
                     goFigure(100)
                     return 99
                 return 98
             return 97
         return 96
     return 95