# Frequently Asked Java Program 05: Swap two integer variables without using third variable

Hello Folks,

As part of Frequently Asked Java Programs In Interviews For Freshers And Experienced, in this post we will see a Java program to swap values of two integer variables without using third variable.

### Problem Statement:

Write a java program to swap values of two integer variables without using third variable.

### Solution:

It is very commonly asked interview program. In Fact it is less program more mathematics.

- Let’s assume there are two variables with some values:

a =10

b=20

2. Now add a and b and store in a:

a = a+b => 10+20 => 30

b= 20

3. Now subtract b from a and store in b:

a= 30

b = a – b => 30-20 => 10

4. Now subtract b from a and store in a:

a= a – b = > 30-10 = > 20

b= 10

5. Notice here that both variables a and b have interchange their values.

Let’s convert above logic into a Java Program.

##### Java Program:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
import java.util.Scanner; public class SwappingTwoNumbers { public static void main(String[] args) { // taking input from user Scanner in = new Scanner(System.in); System.out.println("Enter the 1st number: "); int x = in.nextInt(); System.out.println("Enter the 2nd number: "); int y = in.nextInt(); // printing values before swap System.out.println("Before Swap: "); System.out.println("Value of x: "+x); System.out.println("Value of y: "+y); // swapping without using third variable x = x+y; y = x-y; x = x-y; // printing values after swap System.out.println("After Swap: "); System.out.println("Value of x: "+x); System.out.println("Value of y: "+y); } } |

Output:

1 2 3 4 5 6 7 8 9 10 11 12 |
[java] Enter the 1st number: 21 Enter the 2nd number: 33 Before Swap: Value of x: 21 Value of y: 33 After Swap: Value of x: 33 Value of y: 21 [/java] |

#HappyCoding

Try with XOR option too as + may result in overflow –

a=a^b ; ( a XOR B)

b=a^b; ( a XOR B)

a=a^b; ( a XOR B)

=====================

1 XOR 0 = 1

0 XOR 1= 1

0 XOR 0 = 0

1 XOR 1 =0

Good work

Nice..)))