Here you will get java program to swap two numbers without using third variable or temporary variable.

We can do this in 3 ways as mentioned below.

**Also Read: Java Program to Swap Two Numbers Using Temporary Variable**

**1. Using Addition & Subtraction Operator**

We can swap two numbers using addition (+) and subtraction (-) operator.

1 2 3 4 5 6 7 8 9 10 11 12 13 |
public class JavaSwapNumbers { public static void main(String args[]){ int a = 5, b = 6; System.out.print("Before swap:\na = " + a + "\nb = " + b); a = a + b; //a becomes 11 b = a - b; //b becomes 5 a = a - b; //a becomes 6 System.out.print("\n\nAfter swap:\na = " + a + "\nb = " + b); } } |

**Output**

*Before swap:*

*a = 5*

*b = 6*

*After swap:*

*a = 6*

*b = 5*

**2. Using Multiplication & Division Operator**

We can swap two numbers using multiplication (*) and division (/) operator.

1 2 3 4 5 6 7 8 9 10 11 12 13 |
public class JavaSwapNumbers { public static void main(String args[]){ int a = 5, b = 6; System.out.print("Before swap:\na = " + a + "\nb = " + b); a = a * b; //a becomes 30 b = a / b; //b becomes 5 a = a / b; //a becomes 6 System.out.print("\n\nAfter swap:\na = " + a + "\nb = " + b); } } |

**3. Using Bitwise XOR Operator**

We can also swap two numbers using bitwise XOR (^) operator. This operator does xor of bits in binary representation of numbers. See below example.

1 2 3 4 5 6 7 8 9 10 11 12 13 |
public class JavaSwapNumbers { public static void main(String args[]){ int a = 5, b = 6; //a is 101 and b is 110 System.out.print("Before swap:\na = " + a + "\nb = " + b); a = a ^ b; //a becomes 3 (011) b = a ^ b; //b becomes 5 (101) a = a ^ b; //a becomes 6 (110) System.out.print("\n\nAfter swap:\na = " + a + "\nb = " + b); } } |

Comment below if you know any other way to swap two numbers in java without using third or temporary variable.