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