amp-web-push-widget button.amp-subscribe { display: inline-flex; align-items: center; border-radius: 5px; border: 0; box-sizing: border-box; margin: 0; padding: 10px 15px; cursor: pointer; outline: none; font-size: 15px; font-weight: 500; background: #4A90E2; margin-top: 7px; color: white; box-shadow: 0 1px 1px 0 rgba(0, 0, 0, 0.5); -webkit-tap-highlight-color: rgba(0, 0, 0, 0); } .amp-logo amp-img{width:190px} .amp-menu input{display:none;}.amp-menu li.menu-item-has-children ul{display:none;}.amp-menu li{position:relative;display:block;}.amp-menu > li a{display:block;} /* Inline styles */ span.acssb4d53{color:#993300;}div.acss138d7{clear:both;}div.acssf5b84{--relposth-columns:3;--relposth-columns_m:2;--relposth-columns_t:2;}div.acssb92a1{aspect-ratio:1/1;background:transparent url(https://code4coding.com/wp-content/uploads/2018/08/consdemo.jpg) no-repeat scroll 0% 0%;height:150px;max-width:150px;}div.acss6bdea{color:#333333;font-family:Arial;font-size:12px;height:75px;}div.acss36fd0{aspect-ratio:1/1;background:transparent url(https://code4coding.com/wp-content/uploads/2018/12/methodex2.jpg) no-repeat scroll 0% 0%;height:150px;max-width:150px;}div.acss4cd40{aspect-ratio:1/1;background:transparent url(https://code4coding.com/wp-content/uploads/2018/12/calcelectri.jpg) no-repeat scroll 0% 0%;height:150px;max-width:150px;}div.acss95fbe{aspect-ratio:1/1;background:transparent url(https://code4coding.com/wp-content/uploads/2017/04/extends-keyword-300x147.jpg) no-repeat scroll 0% 0%;height:150px;max-width:150px;}a.acss9bfd5{font-size:14.52427184466pt;}a.acssc37f8{font-size:16.427184466019pt;}a.acss29e97{font-size:16.631067961165pt;}a.acss361c8{font-size:17.174757281553pt;}a.acss51c7b{font-size:20.029126213592pt;}a.acssa2e10{font-size:20.097087378641pt;}a.acss5dd67{font-size:21.728155339806pt;}a.acssf0e8e{font-size:12.077669902913pt;}a.acss759e3{font-size:17.922330097087pt;}a.acss0abf8{font-size:21.252427184466pt;}a.acss6bf84{font-size:13.504854368932pt;}a.acss349b0{font-size:10.038834951456pt;}a.acssf23c5{font-size:8pt;}a.acss7e0a8{font-size:9.2233009708738pt;}a.acsse6f77{font-size:16.970873786408pt;}a.acssc51bb{font-size:14.116504854369pt;}a.acss38f57{font-size:11.26213592233pt;}a.acss066f0{font-size:22pt;}a.acss4e811{font-size:17.31067961165pt;}a.acss9cc90{font-size:12.417475728155pt;}a.acss01721{font-size:15.339805825243pt;}a.acsse9f66{font-size:15.543689320388pt;}a.acss72254{font-size:20.708737864078pt;}a.acsseedeb{font-size:20.776699029126pt;}a.acss25b87{font-size:14.320388349515pt;}a.acss7c517{font-size:12.757281553398pt;}a.acss7a3ee{font-size:18.941747572816pt;}a.acssf92d5{font-size:18.26213592233pt;}a.acss551d3{font-size:16.291262135922pt;} .icon-widgets:before {content: "\e1bd";}.icon-search:before {content: "\e8b6";}.icon-shopping-cart:after {content: "\e8cc";}
In this tutorial, we will discuss the concept of Recursion in the Java programming language.
In this post, we will learn about the recursive method and how it functions in Java.
We have already discussed recursive function in C language, C++ and Python language.
Recursion is a technique in Programming languages. In Java, a method that calls on itself is called a recursive method (same concept of recursive function in C, C++ and Python);
The flow of control of recursive function:
The diagram shows how recursion works:
In the above diagram, initially, recursive() method is called from the inside of the main method (looks like a normal method call).
The recursive() method is called from the inside the same method (it called itself),
The recursion follows until a condition is fulfilled.
Program 1
class Find_Fact{ static int factorial(int num){ if (num!=0) return num*factorial(num-1); //recursive call else return 1; } public static void main(String args[]){ int number=5,fact; fact=factorial(number); System.out.println("Factorial of "+number+" is "+fact); } }
When the above code is executed, it produces the following results
Factorial of 4 is 24
In the above program, first, the factorial() method is called from inside the main method and also argument is passed.
When the value is passed to the function, it is stored in the num variable.
Initially, the argument is passed thus the value of num is 4. Then the method calls on itself which reduces the value of num by 1 and it becomes 3. Then, it passes on during the next recursive call of “factorial()” function. subsequently, it continues to reduce by one in every stage until it becomes 1.
When the num variable becomes less then 1, “if condition” returns as false and flow of control moves to Else part for execution.
once Else part executes, it excludes itself from the function.
The following picture shows how the above program is functioning
Easy to understand, readable code and reduced number of lines in the program.
This recursion makes complex tasks easy and flexible. Also, repeated functioning is easier following iterations.
Tracing and debugging are very difficult.
Every recursive step lacks a separate memory location hence extra memory is required process (becomes very slow).
Similar post
Suggested for you
10 best Ways to Subtract Two Numbers in Java (With Examples) In this article, we…
Array Data Structure: Definition, Types, Operations & Advantages Array Data Structure Introduction In this post,…
20 ways to subtract two numbers in Java In this article, we will discuss the…
10 simple ways to add two numbers in Java In this article, we will discuss…
Write a Python program to find the first n prime numbers In this article we…
Python: Calculate Average of odd and even in a list using loops In this post,…