How to swap two numbers without using a third variable (temp) in Java

4 Answers

0 votes
class Main {
    public static void main(String[] args) {
        int a = 5, b = 13;
      
        a = a + b;
        b = a - b;
        a = a - b; 
         
        System.out.println("a = " + a);
        System.out.println("b = " + b);
    }
}


/*
run:

a = 13
b = 5

*/

 



answered Sep 19, 2016 by avibootz
edited Oct 9 by avibootz
0 votes
class Main {
    public static void main(String[] args) {
        int a = 5, b = 13;
       
        a = a + b - (b = a);
         
        System.out.println("a = " + a);
        System.out.println("b = " + b);
    }
}


/*
run:

a = 13
b = 5

*/

 



answered May 9, 2017 by avibootz
edited Oct 9 by avibootz
0 votes
class Main {
    public static void main(String[] args) {
        int a = 5, b = 13;
       
        a = a ^ b;
        b = a ^ b;
        a = b ^ a;
         
        System.out.println("a = " + a);
        System.out.println("b = " + b);
    }
}


/*
run:

a = 13
b = 5

*/

 



answered May 9, 2017 by avibootz
edited Oct 9 by avibootz
0 votes
class Main {
    public static void main(String[] args) {
        int a = 5, b = 13;
       
        a = b - ~a - 1;
        b = a + ~b + 1;
        a = a + ~b + 1;
         
        System.out.println("a = " + a);
        System.out.println("b = " + b);
    }
}


/*
run:

a = 13
b = 5

*/

 



answered May 9, 2017 by avibootz
edited Oct 9 by avibootz

Related questions

...