Почему methodExit также выполняется несколько раз - пожалуйста, объясните поток этого кода - PullRequest
0 голосов
/ 25 января 2020

После выполнения этого кода 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
...