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.

The Fibonacci series is a series where the next term is the sum of pervious two terms. The first two terms of the Fibonacci sequence is 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;
        }
    }
}

When you run the program, the output will be:

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

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

Then, for loop iterates to n (number of terms) displaying the sum of 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 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 upto 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;
        }
    }
}

When you run the program, the output will be:

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

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

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

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