Предполагая n
инициализируется в 0 в начале:
В первый раз функция вызывается n
получает приращение до 1. 1 < 3 поэтому rec()
называется второй раз.
Второй раз по n
увеличивается на 2. 2 < 3 поэтому rec()
называется в третий раз.
Теперь третий раз через n
увеличивается до 3. 3 составляет не менее 3, поэтому оператор if
не выполняет. Итак, теперь вы выходите из текущего вызова функции (третий раз) и возвращаетесь к предыдущему вызову, который является вторым вызовом.
Теперь, когда вызов rec()
закончил в вашем втором вызове, System.out.println
называется и значение n
отображается (3). Теперь второй вызов завершается, поэтому вы выходите из текущего вызова функции (второй раз) и возвращаетесь к предыдущему вызову, который является первым вызовом.
Теперь вы в первом вызове функции и так как вызов rec()
закончена, вы звоните System.out.println
снова, который снова отображает значение 3
.
Как у n есть ценность? –
Возможно, потому что в какой-то момент 'n <3'. –