Java Program to Swap Two Numbers without using Third Variable

Program 1: Using Scanner class

//importing java package
import java.util.Scanner;

public class SwapTwoNumbers2{
  public static void main (String [] args){

    //creating new Scanner
    Scanner sc = new Scanner (System.in);

    System.out.println ("Please enter first number:\n");
    int num1 = sc.nextInt();
    System.out.println ("Please enter second number:\n");
    int num2 = sc.nextInt();

    System.out.println ("*** Before Swapping ***\n");
    System.out.println ("First number: "+num1);
    System.out.println ("Second number: "+num2);

    num1 = num1 + num2;
    num2 = num1 - num2;
    num1 = num1 - num2;

    System.out.println ("*** After Swapping ***\n");
    System.out.println ("First number: "+num1);
    System.out.println ("Second number: "+num2);
  }
}

Save this file as 'SwapTwoNumbers2.java'
Compile: $javac SwapTwoNumbers2.java
Execute: $java SwapTwoNumbers2
Output:

Please enter first number:

10
Please enter second number:

20
*** Before Swapping ***

First number: 10
Second number: 20
*** After Swapping ***

First number: 20
Second number: 10


Program 2: Using BufferedReader class

//importing java packages
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;

public class SwapTwoNumbers3{
  public static void main (String [] args)
  throws IOException{
    //creating new BufferedReader
    BufferedReader br = new BufferedReader (new InputStreamReader (System.in));

    System.out.println ("Please enter first number:\n");
    int num1 = Integer.parseInt (br.readLine());
    System.out.println ("Please enter second number:\n");
    int num2 = Integer.parseInt (br.readLine());

    System.out.println ("*** Before Swapping ***\n");
    System.out.println ("First number: "+num1);
    System.out.println ("Second number: "+num2);

    int num3 = num1;
    num1 = num2;
    num2 = num3;

    System.out.println ("*** After Swapping ***\n");
    System.out.println ("First number: "+num1);
    System.out.println ("Second number: "+num2);
  }
}

Save this file as 'SwapTwoNumbers3.java'
Compile: $javac SwapTwoNumbers3.java
Execute: $java SwapTwoNumbers3
Output:

Please enter first number:

10
Please enter second number:

20
*** Before Swapping ***

First number: 10
Second number: 20
*** After Swapping ***

First number: 20



Second number: 10