Java Program to Swap Two Numbers

In this program, you’ll learn two techniques to swap two numbers in Java. The first one uses a temporary variable for swapping, while the second one doesn’t use any temporary variables.

Example 1: Swap two numbers using a temporary variable

  1. public class SwapNumbers {
  2. public static void main(String[] args) {
  3. float first = 1.20f, second = 2.45f;
  4. System.out.println("--Before swap--");
  5. System.out.println("First number = " + first);
  6. System.out.println("Second number = " + second);
  7. // Value of first is assigned to temporary
  8. float temporary = first;
  9. // Value of second is assigned to first
  10. first = second;
  11. // Value of temporary (which contains the initial value of first) is assigned to second
  12. second = temporary;
  13. System.out.println("--After swap--");
  14. System.out.println("First number = " + first);
  15. System.out.println("Second number = " + second);
  16. }
  17. }

When you run the program, the output will be:

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

  1. public class SwapNumbers {
  2. public static void main(String[] args) {
  3. float first = 12.0f, second = 24.5f;
  4. System.out.println("--Before swap--");
  5. System.out.println("First number = " + first);
  6. System.out.println("Second number = " + second);
  7. first = first - second;
  8. second = first + second;
  9. first = second - first;
  10. System.out.println("--After swap--");
  11. System.out.println("First number = " + first);
  12. System.out.println("Second number = " + second);
  13. }
  14. }

When you run the program, the output will be:

--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().