目录
  1. 1. 数据交换
    1. 1.1. 方式一
    2. 1.2. 方式二
    3. 1.3. 方式三
    4. 1.4. 方式四
数据的交换,你会多少种

数据交换

方式一

使用第三方变量(开发中用的)

class demo1 {
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);
}
}

方式二

用位异或实现(面试用)

class demo2 {
public static void main(String[] args) {
int a = 10;
int b = 20;
System.out.println("交换前:a:"+a+",b:"+b);
a = a ^ b;
b = a ^ b; // a ^ b ^ b = a
a = a ^ b; // a ^ b ^ a = b
System.out.println("交换后:a:"+a+",b:"+b);
}
}

方式三

用变量相加的做法

class demo3 {
public static void main(String[] args) {
int a = 10;
int b = 20;
System.out.println("交换前:a:"+a+",b:"+b);
a = a + b; // a=30
b = a - b; // b=10
a = a - b; // a=20
System.out.println("交换后:a:"+a+",b:"+b);
}
}

方式四

一行代码

class demo3 {
public static void main(String[] args) {
int a = 10;
int b = 20;
System.out.println("交换前:a:"+a+",b:"+b);
b = (a+b) - (a=b); // b=30-20=10,a=20
System.out.println("交换后:a:"+a+",b:"+b);
}
}
文章作者: Jachie Xie
文章链接: https://xjc5772.github.io/2020-08/08/%E5%AD%A6%E4%B9%A0/%E5%90%8E%E7%AB%AF%E5%AD%A6%E4%B9%A0/JAVA/%E6%95%B0%E6%8D%AE%E7%9A%84%E4%BA%A4%E6%8D%A2%EF%BC%8C%E4%BD%A0%E4%BC%9A%E5%A4%9A%E5%B0%91%E7%A7%8D/
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 XJC&Blog
打赏
  • 微信
  • 支付宝

评论