I'm trying to learn java oop and i find some problem understanding why the use of post-increment in Recursive Method cause error ? I don't understand .
Main Class : public class Main {
public static void main(String[] args) { A a = new A(); a.res(0); } } Code work fine :
public class A { public void res(int a){ if (a < 5) res(a+1); System.out.println(a); } } Output : run:
5
4
3
2
1
0 BUILD SUCCESSFUL (total time: 0 seconds)
But in when i use the ++ operator i got StackOverflowError .
public class A { public void res(int a){ if (a < 5) res(a++); System.out.println(a); } }