递归方法调用中的递增/递减(Java)

时间:2013-04-19 00:14:50

标签: java recursion post-increment pre-increment

假设您有一个递归方法,并在递归调用中后递增/递减值。当预增量/减量不是?

时,为什么会导致堆栈溢出异常?

实施例

numberCount(currentNumber++); //Stack overflow exception

numberCount(++currentNumber); //No stack overflow exception

提前感谢您的任何澄清。

2 个答案:

答案 0 :(得分:11)

第一个

numberCount(currentNumber++); //Stack overflow exception

相当于:

numberCount(currentNumber);
currentNumber += 1;

而第二个

numberCount(++currentNumber); //No stack overflow exception

相当于

currentNumber += 1;
numberCount(currentNumber);

我需要解释一下吗?

答案 1 :(得分:0)

如果是numberCount(currentNumber++);,如果numberCount函数抛出异常,变量currentNumber会增加吗?