How to Swap Two Numbers in Java
Swapping two number is easy when you use a temporary variable. The following Java programs swaps two numbers using a temporary variable of the same type.
// Java program to swap numbers using temporary variable
public class SwapNumbersWithTemp {
public static void main(String[] args) {
int a = 10;
int b = 20;
System.out.println("a="+a+",b="+b);
int temp = a;
a = b;
b = temp;
System.out.println("a="+a+",b="+b);
}
}
The following program swaps two numbers without using a temporary variable. It uses addition and subtraction to move values around.
// Example: Java program to swap numbers without temp variable
public class SwapNumbersWithoutTemp {
public static void main(String[] args) {
int a = 10;
int b = 20;
System.out.println("a="+a+",b="+b);
a = a + b; // a is now a+b
b = a - b; // b is now a
a = a - b; // a is now b
System.out.println("a="+a+",b="+b);
}
}
The following program swaps numbers using a function without explicit temporary variables. This example works because the value of the b actually creates an implicit temporary variable during the method invocation.
// Swap numbers without temporary variable - Java example
public class SwapNumberWithFunction {
public static void main(String[] args) {
int a = 10;
int b = 20;
System.out.println("a=" + a + ",b=" + b);
a = getB(b,b=a);
System.out.println("a=" + a + ",b=" + b);
}
public static int getB(int b,int a) {
return b;
}
}