fn = fn-1 + fn-2.

# Calculate Fibonacci Series in Java

Carvia Tech | April 30, 2019 | 1 min read | 1,015 views

Fibonacci series is series of natural number where next number is equivalent to the sum of previous two number e.g.

Fibonacci Series

The first two numbers of Fibonacci series is always 1, 1.

First 10 numbers in fibonacci series are:

1 1 2 3 5 8 13 21 34 55

## Iterative approach

Java program to calculate and print Fibonacci number using Iterations logic is shown below:

Basically on each iteration, we are assigning second number to the first and assigning the sum of last two numbers to the second.

Fibonacci using Iteration

```
void fibonacci(int count) {
int prevNumber = 0;
int nextNumber = 1;
System.out.println("Fibonacci Series " + count + ":");
for (int i = 1; i <= count; ++i) {
int fib = prevNumber + nextNumber;
prevNumber = nextNumber;
nextNumber = fib;
System.out.print(prevNumber + " ");
}
}
```

## Recursive approach

We can use *tail recursion* to calculate fibonacci series in Java.

fibonacci series using Recursion

```
int fibonacci(int num) {
if (num == 1 || num == 2) {
return 1;
```**(1)**
}
return fibonacci(num - 1) + fibonacci(num - 2); **(2)**
}

1 |
Terminating condition for recursive function |

2 |
Tail recursion where we are essentially calculating `fn = fn-1 + fn-2` |

##### Top articles in this category:

- SDET Java Coding Challenges
- 50 SDET Java Interview Questions & Answers
- Rest Assured API Testing Interview Questions
- SDET: JUnit interview questions for automation engineer
- Java Program to find Factorial of a number
- Http methods for RESTful services
- Difference between Enumeration and Iterator in Java

##### Find more on this topic:

##### Subscribe to Interview Questions

###### Recommended books for interview preparation:

Book you may be interested in..

Book you may be interested in..

##### Similar Posts

- Reverse position of words in a string using recursion
- REST Assured with plain/text response body
- Get distinct words from a given file in Java
- SDET Java Coding Challenges
- REST Assured vs Apache HttpClient and RestTemplate
- Java 11 HttpClient with Basic Authentication
- HTTP GET request with Java 11 HttpClient - Kotlin
- HTTP Head request using Java 11 HttpClient - Kotlin
- Using Java 11 HttpClient with Kotlin Coroutines
- Migrating Spring Boot tests from Junit 4 to Junit 5