## Display Fibonacci Series

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

**Fibonacci Series**: 0, 1, 1, 2, 3, 5, 8, 13, 21, 34

Suppose, our first two terms are:

```
firstTerm = 0
secondTerm = 1
```**
**

The next terms in the Fibonacci series would be calculated as:

```
nextTerm = firstTerm + secondTerm; (0 + 1)
firstTerm = secondTerm; (1)
secondTerm = nextTerm; (1)
nextTerm = firstTerm + secondTerm; (1 + 1)
....
```

Let's now apply this logic in our program.

### Example: Display Fibonacci Series Using for Loop

```
class Main {
public static void main(String[] args) {
int n = 10, firstTerm = 0, secondTerm = 1;
System.out.println("Fibonacci Series till " + n + " terms:");
for (int i = 1; i <= n; ++i) {
System.out.print(firstTerm + ", ");
// compute the next term
int nextTerm = firstTerm + secondTerm;
firstTerm = secondTerm;
secondTerm = nextTerm;
}
}
}
```

**Output**

Fibonacci Series till 10 terms: 0, 1, 1, 2, 3, 5, 8, 13, 21, 34,

In the above program, `firstTerm` and `secondTerm` are initialized with **0** and **1** respectively (first two digits of Fibonacci series).

Here, we have used the `for`

loop to

- print the
`firstTerm`of the series - compute
`nextTerm`by adding`firstTerm`and`secondTerm` - assign value of
`secondTerm`to`firstTerm`and`nextTerm`to`secondTerm`

We can also use a `while`

loop to generate the Fibonacci series in Java.

### Example 2: Display Fibonacci series using while loop

```
class Main {
public static void main(String[] args) {
int i = 1, n = 10, firstTerm = 0, secondTerm = 1;
System.out.println("Fibonacci Series till " + n + " terms:");
while (i <= n) {
System.out.print(firstTerm + ", ");
int nextTerm = firstTerm + secondTerm;
firstTerm = secondTerm;
secondTerm = nextTerm;
i++;
}
}
}
```

**Output**

Fibonacci Series till 10 terms: 0, 1, 1, 2, 3, 5, 8, 13, 21, 34,

The working of this program is the same as the previous program.

And, though both programs are technically correct, it is better to use a `for`

loop in this case. It's because the number of iterations (from **1** to `n`) is known.

### Example 3: Display Fibonacci series up to a given number

```
class Fibonacci {
public static void main(String[] args) {
int n = 100, firstTerm = 0, secondTerm = 1;
System.out.println("Fibonacci Series Upto " + n + ": ");
while (firstTerm <= n) {
System.out.print(firstTerm + ", ");
int nextTerm = firstTerm + secondTerm;
firstTerm = secondTerm;
secondTerm = nextTerm;
}
}
}
```

**Output**

Fibonacci Series Upto 100: 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89,

In this example, instead of displaying the Fibonacci series of a certain number, we are displaying the series up to the given number (**100**).

For this, we just need to compare the `firstTerm` with `n`. And, if `firstTerm` is less than `n`, it is printed in the series. Else, the series is completed.