Java Program to Swap Two Numbers

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


Example 1: Swap two numbers using temporary variable

public class SwapNumbers {

    public static void main(String[] args) {

        float first = 1.20f, second = 2.45f;

        System.out.println("--Before swap--");
        System.out.println("First number = " + first);
        System.out.println("Second number = " + second);

        // Value of first is assigned to temporary
        float temporary = first;

        // Value of second is assigned to first
        first = second;

        // Value of temporary (which contains the initial value of first) is assigned to second
        second = temporary;

        System.out.println("--After swap--");
        System.out.println("First number = " + first);
        System.out.println("Second number = " + second);
    }
}

Output:

--Before swap--
First number = 1.2
Second number = 2.45
--After swap--
First number = 2.45
Second number = 1.2

In the above program, two numbers 1.20f and 2.45f which are to be swapped are stored in variables: first and second respectively.

The variables are printed before swapping using println() to see the results clearly after swapping is done.

  • First, the value of first is stored in variable temporary (temporary = 1.20f).
  • Then, value of second is stored in first (first = 2.45f).
  • And, finally value of temporary is stored in second (second = 1.20f).

This completes the swapping process and the variables are printed on the screen.

Remember, the only use of temporary is to hold the value of first before swapping. You can also swap the numbers without using temporary.


Example 2: Swap two numbers without using temporary variable

public class SwapNumbers {

    public static void main(String[] args) {

        float first = 12.0f, second = 24.5f;

        System.out.println("--Before swap--");
        System.out.println("First number = " + first);
        System.out.println("Second number = " + second);

        first = first - second;
        second = first + second;
        first = second - first;

        System.out.println("--After swap--");
        System.out.println("First number = " + first);
        System.out.println("Second number = " + second);
    }
}

Output:

--Before swap--
First number = 12.0
Second number = 24.5
--After swap--
First number = 24.5
Second number = 12.0

In the above program, instead of using temporary variable, we use simple mathematics to swap the numbers.

For the operation, storing (first - second) is important. This is stored in variable first.

first = first - second;
first = 12.0f - 24.5f

Then, we just add second (24.5f) to this number - calculated first (12.0f - 24.5f) to swap the number.

second = first + second;
second = (12.0f - 24.5f) + 24.5f = 12.0f

Now, second holds 12.0f (which was initially value of first). So, we subtract calculated first (12.0f - 24.5f) from swapped second (12.0f) to get the other swapped number.

first = second - first;
first = 12.0f - (12.0f - 24.5f) = 24.5f

The swapped numbers are printed on the screen using println().

Did you find this article helpful?