# How to swap two numbers without using a third variable in Java?

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

1. Add both number (x+y) and store it in first variable (x). ie x = x + y
2. Now Substract the second number from the first, and store it in y variable. ie. y = x – y
3. 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