fn = fn-1 + fn-2.

# Calculate Fibonacci Series in Java

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

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

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.

```
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.

```
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
- Factorial in Java using recursion
- Commonly used Http methods in RESTful services
- Anagrams string checker in Java

###### Find more on this topic:

##### SDET Interviews

SDET Java Interview pattern and collection of questions covering SDET coding challenges, automation testing concepts, functional, api, integration, performance and security testing, junit5, testng, jmeter, selenium and rest assured

Last updated 1 week ago

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

##### Similar Posts

- 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
- JUnit 5 Parameterized Tests