Recursion in Java

Recursion in java is a process in which a method calls itself continuously. A method in java that calls itself is called recursive method.

It makes the code compact but complex to understand.

Syntax:

returntype methodname(){  

//code to be executed  

methodname();//calling same method  

} 

    Java Recursion Example 1: Infinite times

    public class RecursionExample1 {  
    
    static void p(){  
    
    System.out.println("hello");  
    
    p();  
    
    }  
    
      
    
    public static void main(String[] args) {  
    
    p();  
    
    }  
    
    } 

      Output:

      hello
      hello
      ...
      java.lang.StackOverflowError
      

      Java Recursion Example 2: Finite times

      public class RecursionExample2 {  
      
      static int count=0;  
      
      static void p(){  
      
      count++;  
      
      if(count<=5){  
      
      System.out.println("hello "+count);  
      
      p();  
      
      }  
      
      }  
      
      public static void main(String[] args) {  
      
      p();  
      
      }  
      
      } 

        Output:

        hello 1
        hello 2
        hello 3
        hello 4
        hello 5
        

        Java Recursion Example 3: Factorial Number

        public class RecursionExample3 {  
        
            static int factorial(int n){      
        
                  if (n == 1)      
        
                    return 1;      
        
                  else      
        
                    return(n * factorial(n-1));      
        
            }      
        
          
        
        public static void main(String[] args) {  
        
        System.out.println("Factorial of 5 is: "+factorial(5));  
        
        }  
        
        }

        Output:

        Factorial of 5 is: 120
        

        Working of above program:

        factorial(5) 
           factorial(4) 
              factorial(3) 
                 factorial(2) 
                    factorial(1) 
                       return 1 
                    return 2*1 = 2 
                 return 3*2 = 6 
              return 4*6 = 24 
           return 5*24 = 120
        

        Java Recursion Example 4: Fibonacci Series

        public class RecursionExample4 {  
        
            static int n1=0,n2=1,n3=0;      
        
             static void printFibo(int count){      
        
                if(count>0){      
        
                     n3 = n1 + n2;      
        
                     n1 = n2;      
        
                     n2 = n3;      
        
                     System.out.print(" "+n3);     
        
                     printFibo(count-1);      
        
                 }      
        
             }        
        
          
        
        public static void main(String[] args) {  
        
            int count=15;      
        
              System.out.print(n1+" "+n2);//printing 0 and 1      
        
              printFibo(count-2);//n-2 because 2 numbers are already printed     
        
        }  
        
        }

        Output:

        0 1 1 2 3 5 8 13 21 34 55 89 144 233 377
        

        Comments

        Leave a Reply

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