 # Java Program to Display Fibonacci Series

#### In this program, you'll learn to display fibonacci series in Java using for and while loops. You'll learn to display the series upto a specific term or a number.

To understand this example, you should have the knowledge of the following Java programming topics:

The Fibonacci series is a series where the next term is the sum of the previous two terms. The first two terms of the Fibonacci sequence are 0 followed by 1.

```The Fibonacci sequence: 0, 1, 1, 2, 3, 5, 8, 13, 21, ...
```

## Example 1: Display Fibonacci series using for loop

``````public class Fibonacci {

public static void main(String[] args) {

int n = 10, t1 = 0, t2 = 1;
System.out.print("First " + n + " terms: ");

for (int i = 1; i <= n; ++i)
{
System.out.print(t1 + " + ");

int sum = t1 + t2;
t1 = t2;
t2 = sum;
}
}
}``````

Output

`0 + 1 + 1 + 2 + 3 + 5 + 8 + 13 + 21 + 34 + `

In the above program, first (t1) and second (t2) terms are initialized to the first two terms of the Fibonacci series 0 and 1 respectively.

Then, for loop iterates to n (number of terms) displaying the sum of the previous two terms stored in variable t1.

You can also generate Fibonacci series using a while loop in Java.

## Example 2: Display Fibonacci series using while loop

``````public class Fibonacci {

public static void main(String[] args) {

int i = 1, n = 10, t1 = 0, t2 = 1;
System.out.print("First " + n + " terms: ");

while (i <= n)
{
System.out.print(t1 + " + ");

int sum = t1 + t2;
t1 = t2;
t2 = sum;

i++;
}
}
}``````

The output is the same as the above program.

In the above program, unlike a for loop, we have to increment the value of i inside the body of the loop.

Though both programs are technically correct, it is better to use for loop in this case. It's because the number of iteration (from 1 to n) is known.

## Example 3: Display Fibonacci series up to a given number (instead of terms)

``````public class Fibonacci {

public static void main(String[] args) {

int n = 100, t1 = 0, t2 = 1;

System.out.print("Upto " + n + ": ");
while (t1 <= n)
{
System.out.print(t1 + " + ");

int sum = t1 + t2;
t1 = t2;
t2 = sum;
}
}
}``````

Output

`Upto 100: 0 + 1 + 1 + 2 + 3 + 5 + 8 + 13 + 21 + 34 + 55 + 89 + `

Instead of displaying the series up to a specific number, this program displays it until a given number (100).

For this, we just need to compare the sum of the last two numbers (t1) with n.

If t1 is less than or equals to n, print t1. Else, we're finished displaying all terms.