JAVA |
您所在的位置:网站首页 › java编程采用异或运算实现两个变量值互换吗对吗 › 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类型的其他基本数据类型如:整形,浮点型,字符型. |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |