Explanation
1. Generally, algorithms that can be processed by recursive calls are also solved through loops, which often require additional inefficient processing.
2. After optimization, the current compiler will have very good efficiency optimization for the processing of multiple calls of methods, and the efficiency may not be lower than that of loops.
Loop
Advantages: Simple structure
Disadvantages: It cannot solve all problems. Some problems are suitable for using recursion instead of loops. If it is not difficult to use loops, it is better to use loops.
Recursion
Advantages: The code is concise, clear, and easy to verify correctness
Disadvantages: Its operation requires more method calls, If the call level is relatively deep, additional stack processing needs to be added. For example, parameter transfer requires stack pushing, which will have a certain impact on execution efficiency. However, for some problems, if you don't use recursion, it will be extremely ugly code.
Java is an object-oriented programming language that can write desktop applications, Web applications, distributed systems and embedded system applications.
The above is the detailed content of What is the difference between loop and recursion in java. For more information, please follow other related articles on the PHP Chinese website!