借助第三个变量实现两个变量的交换:
public class java_06 {
public static void main(String[] args) {
int a = 10;
int b = 20;
System.out.println("交换前:a=="+a+" "+"b=="+b);
// 原理是,两个变量的交换需要借助一个中间变量进行交换
int c = a;
a = b;
b = c;
System.out.println("交换后:a=="+a+" "+"b=="+b);
}
}
使用异或运算符实现两个变量的交换:
public class java_06 {
public static void main(String[] args) {
int a = 3; //二进制是11
int b = 4; //二进制是100
System.out.println("交换前:a=="+a+" "+"b=="+b);
// 原理是,使用异或运算符进行交换
a = a^b; //a=a^b=11^100=111
b = a^b; //b=a^b=111^100=011=3
a = a^b; //a=a^b=111^011=100=4
// 最终就转换完成了
System.out.println("交换后:a=="+a+" "+"b=="+b);
}
}
【异或】就是将两个数字转为二进制之后进行的比较运算,同为0 ,异为1
例如:3 ^ 4 ,结果为7.同理,3 ^ 3的结果为0.
总结:最后一种使用异或的方法交换变量效率最高,推荐~
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/149731.html