JAVA

您所在的位置:网站首页 java编程采用异或运算实现两个变量值互换吗对吗 JAVA

JAVA

2024-07-11 07:29| 来源: 网络整理| 查看: 265

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类型的其他基本数据类型如:整形,浮点型,字符型.



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3