`

一道经典Java面试题

阅读更多
题目:在不使用第3个数的情况下,交换2个数的值
第一种方法
public class Test {  
 
    public static void main(String[] args) {  
        //利用加减法  
       int a = 10, b = 5;  
        a = a + b;  
        b = a - b;  
        a = a - b;  
          
        System.out.println("a=" + a + "\nb=" + b);  
    }  
}
第二种方法
public class Test  {  
 
   public static void main(String[] args) {  
       //利用一个数异或本身等于0和异或运算符合交换率  
       int a = 10, b = 5;  
       a = a ^ b;  
       b = a ^ b;  
       a = a ^ b;  
         
        System.out.println("a=" + a + "\nb=" + b);  
    }  

第三种方法
public class Test  {  
       public static void main(String[] args)
           int a = 10;
           int b = 20;
           a = b+0*(b=a);
          System.out.println("a=" + a + "\nb=" + b);  
    }  

0
0
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics