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