Hoy os vamos a explicar qué es la recursividad en programación, en este caso vamos a ver ejemplos en lenguaje Java para que entendáis cómo funciona y para qué podemos usarla.

¿Qué es la recursividad?

La recursividad es una técnica usada en programación que nos permite que un bloque de instrucciones, una función u operación se realice un cierto número de veces (predeterminadas por nosotros). Gracias a que muchos lenguajes, como por ejemplo Java nos permiten que los métodos puedan llamarse a sí mismos podemos realizar operaciones recursivas.

Caso Base y Caso Recursivo

Todo método recursivo puede dividirse en "Caso base", que sería algo así como el criterio de parada y "Caso recursivo" que converge al caso base (es decir, que se va acercando al caso base). La recursividad sirve como sustituto de una ireración, por ejemplo un bucle while o for, y en muchos casos siendo menos costoso. 

Método recursivo en Java para bajar una escalera

Es el caso del siguiente ejemplo, donde vamos a ver cómo bajar una escalera con un método recursivo, de tal modo que cuando al método le pasamos un entero "10" por ejemplo, tras pasar por el if, iría al "Caso recursivo" donde volvería a llamar al método con un entero "10-1" es decir "9", y así hasta llegar a 0, donde daríamos por hecho que la escalera se ha bajado.

    public void bajarEscalera (int escalones){
        // Caso Base, Respuesta Explícita
        if (escalones == 0){
            System.out.println("La escalera se ha bajado");
        } else {
            System.out.println("Bajando escalon " + escalones);
            // Hacemos uso de la recursividad
            bajarEscalera(escalones-1);
        }
     
    }

El resultado del método al ejecutarlo problema.bajarEscalera(10) sería el siguiente:

Bajando escalon 10
Bajando escalon 9
Bajando escalon 8
Bajando escalon 7
Bajando escalon 6
Bajando escalon 5
Bajando escalon 4
Bajando escalon 3
Bajando escalon 2
Bajando escalon 1
La escalera se ha bajado

Más ejercicios de Recursividad en Java