What is Recursion in Java?

Recursion in Java is the process in which the method calls itself. These methods are called recursive methods.

We use Recursion when some process needs to be repeated a number of times.

 

What is Recursion in Java


Let’s see some examples:

Examples of a Recursion in Java

Recursive method

  public void printData(int data) {

    System.out.println(data);

    printData(data);

  }


See how this method calls itself. In this case, the data value will be printed until we hit the java.lang.StackOverflowError.

As you can guess, this is not a good way to write a recursive method. We need to have the code which will stop the execution when a certain condition is being met, to avoid calling the method infinitely.

Let’s add it:

  public static void printData(int data) {

    if (data > 0) {
      System.out.println(data);
      printData(--data);
    }

  }


Now, if we pass the value 5, the method will call itself as long as the value is greater than zero.

Output:
5
4
3
2
1

Calculate factorial of the given number

public class Test {

  public static void main(String[] args) {

    System.out.println(factorial(5));

  }

  static int factorial(int num) {
    if (num == 1) {
      return 1;
    } else
      return (num * factorial(num - 1));
  }
}
Output: 120

Fibonacci Series for the given number

public class Test {

  public static void main(String args[]) {
    int maxNumber = 15;

    for (int i = 0; i < maxNumber; i++) {
      System.out.print(fibonacci(i) + " ");
    }
  }

  public static int fibonacci(int n) {
    if (n == 0) {
      return 0;
    }
    if (n == 1 || n == 2) {
      return 1;
    }
    return fibonacci(n - 2) + fibonacci(n - 1);
  }
}
Output: 0 1 1 2 3 5 8 13 21 34 55 89 144 233 377
 
That was all about Recursion in Java. Proceed to the next lesson.
 
Happy coding!

Leave a Reply

Your email address will not be published. Required fields are marked *