### Java Program to Swap Two Numbers

In this quick article, we will learn two techniques to swap two numbers in Java. The first one uses a temporary variable for swapping, while the second one doesn't use any temporary variables.

# 1. Java program to swap two numbers using a temporary variable

```package com.javaguides.java.tutorial;

import java.util.Scanner;

/**
* Java Program to Swap Two Numbers
*
* @author https://www.javaguides.net/
*
*/
public class JavaProgram {
public static void main(String[] args) {

try (Scanner scanner = new Scanner(System.in)) {

System.out.print("Enter first number:");
int first = scanner.nextInt();
System.out.print("Enter second number:");
int second = scanner.nextInt();

System.out.println("--Before swap--");
System.out.println("First number = " + first);
System.out.println("Second number = " + second);

// Value of first is assigned to temporary
int temporary = first;

// Value of second is assigned to first
first = second;

// Value of temporary (which contains the initial value of first) is assigned to
// second
second = temporary;

System.out.println("--After swap--");
System.out.println("First number = " + first);
System.out.println("Second number = " + second);
}
}
}```
Output:
``````Enter first number:10
Enter second number:20
--Before swap--
First number = 10
Second number = 20
--After swap--
First number = 20
Second number = 10``````

# 2. Java program to swap two numbers without using a temporary variable

Let's rewrite the above Java program to swap two numbers without using a temporary variable:
```package com.javaguides.java.tutorial;

import java.util.Scanner;

/**
* Java Program to Swap Two Numbers
*
* @author https://www.sourcecodeexamples.net/
*
*/
public class JavaProgram {
public static void main(String[] args) {

try (Scanner scanner = new Scanner(System.in)) {

System.out.print("Enter first number:");
int first = scanner.nextInt();
System.out.print("Enter second number:");
int second = scanner.nextInt();

System.out.println("--Before swap--");
System.out.println("First number = " + first);
System.out.println("Second number = " + second);

first = first - second;
second = first + second;
first = second - first;

System.out.println("--After swap--");
System.out.println("First number = " + first);
System.out.println("Second number = " + second);
}
}
}```
Output:
``````Enter first number:10
Enter second number:20
--Before swap--
First number = 10
Second number = 20
--After swap--
First number = 20
Second number = 10``````