После выполнения этого кода method1 выполняется 11 раз, что понятно, но почему methodExit выполняется 10 раз, так как, по моему мнению, method1 должен запускаться 10 раз, но после возврата он должен go в methodExit и просто запустить его один раз. Пожалуйста, объясните
Код:
public class demo {
static int temp=0;
static void methodExit() {
System.out.println(" method exit executed "+temp);
temp++;
}
static void method1()
{
System.out.print(" "+temp);
temp++;
if(temp==11)
{
temp=0;
return;
}
method1();
methodExit();
}
public static void main(String[] args) {
// TODO Auto-generated method stub
method1();
}
}
ВЫХОД:
0 1 2 3 4 5 6 7 8 9 10
method exit executed 0
method exit executed 1
method exit executed 2
method exit executed 3
method exit executed 4
method exit executed 5
method exit executed 6
method exit executed 7
method exit executed 8
method exit executed 9