Zmienne podczas rekurencji

0

Dzień dobry,
Zastanawia mnie problem zmiennych w funkcji rekurencyjnej w Javie. Mianowicie chodzi mi o to co się dzieje jeśli np. zadeklarujemy zmienną w funkcji i przypiszemy jej jakąś wartość, to czy jeśli w późniejszym etapie wywołamy daną funkcję rekurencyjnie, to wartość zmiennej zostanie zmieniona na tą początkową (czyli, np. nadaną podczas deklaracji), czy będzie posiadała wartość z momentu przed rekursją?
Jeśli wartość będzie zmieniana na początkową to co należy zrobić aby nawet pomimo rekursji ostatnia wartość zmiennej była pamiętana? (tak jak static w C++)

1

Przekaż ją jako argument funkcji (typowa praktyka np w elixirze, który rekursji mówi stanowcze tak, poprosze)

1

Każde wywołanie funkcji ma własny kontekst (fragment stosu), więc jeśli chodzi o zmienne lokalne, nie zostaną nadpisane.

0

Dziękuję za szybką odpowiedź!

1 użytkowników online, w tym zalogowanych: 0, gości: 1