JAVA_三种方法实现两个整形变量的数值交换

JAVA中的基本数据交换方式有三种:

1.借助中间变量

例: int a = 10 , b = 20 , c;   //建立了三个变量,这里的c即为我们的中间变量,在随后的数值交换中起到了一个交换"桥梁"的作用.

c = a;

a = b;

b = c;

这样就借助了中间变量来实现了两个整形变量的数值交换.这也是实际应用中,应用最广的一种方法,不仅适用于int类型,其他数据类型也同样适用.

2.利用 ^(异或运算符)

在计算机底层对两个数据所对应的补码进行异或运算,若对应位相同则为0,若不相同则为1,最后再对所得到的补码进行转换,最终得到的数即为结果.

特点:一个数另外一个数同时异或两次,结果依然还等于这个数 如: 10 ^ 20 ^ 20 == 10 ;

例:

int a = 10,b = 20;

a = a ^ b;

b = a ^ b;  // b = a ^ b ^ b;

a = a ^ b;  // a = a ^ b ^ a ^ b ^ b;

此方法适用于所有基本数据类型.

3.算数交换

在这里就要利用数的一些特点来进行交换:

例:

int a = 10 , b = 20;

a = a + b;   // 此时 a == 30 , b == 20;

b = a - b;   // 此时 a == 30 , b == 10;

a = a - b;   // 此时 a == 20 , b == 10;

此方法适用于除了boolean类型的其他基本数据类型如:整形,浮点型,字符型.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值