Java program to swap two numbers

Learn to swap two numbers in given two Java programs. First program uses a temporary variable while second program does not uses any temp variable.

1. Swap two numbers using temporary variable

Given below is a Java program which uses temporary variable 'temp' to swap two numbers.

The steps for swapping are simple enough for two given numbers 'x' and 'y'.

  1. Assign value of 'x' to 'temp'.
  2. Assign value of 'y' to 'x'.
  3. Assign value of 'temp' to 'y'.

After above steps, value of 'x' will be assigned to 'y' and value of 'y' will be assigned to 'x'.

public class Main 
{
	public static void main(String[] args) 
	{
		int temp;
		int x = 100;
		int y = 200;
		
		//Swapping in steps
		temp = x;
		x = y;
		y = temp;
		
		//Verify swapped values
		System.out.println("x = " + x + " and y = " + y);
	}
}

Program output.

x = 200 and y = 100

2. Swap two numbers without temporary variable

This java program is little complex in comparison to previous approach, but it can be asked as java interview question for beginners.

In this approach, we use simple mathematics. We use any one variable from given two variables to store the sum of both variables.

Once we have sum in one variable and second variable has original value, we can use these both to get values swapped.

public class Main 
{
	public static void main(String[] args) 
	{
		int x = 100;
		int y = 200;

		//Swapping in steps
		x = x + y;		//x = 100 + 200 = 300
		y = x - y;		//y = 300 - 200 = 100
		x = x - y;		//x = 300 - 100 = 200
		
		//Verify swapped values
		System.out.println("x = " + x + " and y = " + y);
	}
}

Program output.

x = 200 and y = 100

Drop me the questions related to above java programs to swap two given numbers with or without using temporary variable.

Happy Learning !!

Was this post helpful?

Join 7000+ Fellow Programmers

Subscribe to get new post notifications, industry updates, best practices, and much more. Directly into your inbox, for free.

Leave a Comment

HowToDoInJava

A blog about Java and its related technologies, the best practices, algorithms, interview questions, scripting languages, and Python.