交换两个变量中的值(三种方法)

                                          

 

方法一:用第三方变量,最常用的,符合大多数人的思考方式

public static void main(String[] args){
     test1(3,7);
    }
    public static void test1(int a,int b){
     //交换a,b中的值
     System.out.println("交换之前的值为:a="+a+",b="+b);
     int temp;
     temp=a;
     a=b;
     b=temp;
     System.out.println("交换之后的值为:a="+a+",b="+b);
    }

方法二:两个数进行相加运算,再相减算出(备注:这个方法有一点不妥,当两个数非常大时,两数的和可能超出int边界,就是出界,容易出错,请慎用)

public static void main(String[] args){
     test2(3,7);
    }

 public static void test2(int a,int b){
     System.out.println("交换之前的值为:a="+a+",b="+b);
     a=a+b;//把a,b的和放在a中
     b=a-b;//和的值减去b的值就是a的值,放入b中;
     a=a-b;//现在b中放的是原来a的值,和减去b等于b的值,再放入a中,实现交换
     System.out.println("交换之后的值为:a="+a+",b="+b);
    }

方法三:运用异或可以很好的处理,这个方法属于技巧性质的 如:4^5^5=====》4,两次异或还是原来的数,扩展下,可利用这个进行加密

 

public static void main(String[] args){
     test3(3,7);
    }

 

 public static void test3(int a,int b){
     System.out.println("交换之前的值为:a="+a+",b="+b);
     a=a^b;
     b=a^b;//这个a其实就是a^b,再加上后边的^b,就还是a值,把a的值赋值给b;
     a=a^b;//这个b其实就是a^b,在加上前边的a^,就是b的值,就是把b的值赋值给a;
     System.out.println("交换之后的值为:a="+a+",b="+b);
    }

 

                  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

King·Forward

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值