Swapping two numbers can be also known as exchanging the numbers between two variables. The swapping of two numbers without using a third variable or a temporary variable can be done by following the below simple steps:
For example, let’s take two numbers x=20 (first variable) and y=30 (second variable),
- Add both number (x+y) and store it in first variable (x). ie x = x + y
- Now Substract the second number from the first, and store it in y variable. ie. y = x – y
- Now to the step two again but store the value in x variable. ie. x = x – y
Let’s see the calculation steps:
x = x + y => x = 20 + 30 => 50
y = x – y => y = 50 – 20 => 30
x = x – y => x = 50 – 30 => 20
Let’s see the logic to do the same,
Solution
SwapTwoNumbers.java
package com.javacodepoint.programs;
public class SwapTwoNumbers {
public static void main(String[] args) {
//Initiating two integer numbers
int x = 20, y=30;
//Print both number before swapping
System.out.println("x = "+x+", y= "+y);
//Logic to swap these numbers without using a third variable
x = x + y;
y = x - y;
x = x - y;
//Printing the both number again after swapping
System.out.println("x = "+x+", y= "+y);
}
}
OUTPUT:
x = 20, y= 30
x = 30, y= 20