Olá Francisco,
Bom, a função calcular(int n)
é uma função recursiva, ou seja, ela fica chamando ela mesma enquanto a condição dentro dela for verdadeira.
Neste caso, que calcula o fatorial, a função primeiramente é chamada recebendo 5, só que no retorno da função é o resultado do calculo de 5 vezes o calculo fatorial de 4, ou seja, ela vai se repetir até que chegue em fatorial de 0 que retorna 1.
Depois deste ponto, a linguagem cuida de fazer o caminho contrário, multiplicando fatorial de 0 (que é 1) vezes o fatorial de 1, vezes o de 2... até que chegue em 5, e finalmente retorna para o println.
Espero que tenha solucionado sua dúvida,
Abs.