Q1:交换两个变量的值
想象3个杯子,第三个杯子是空的。
将第一杯的可乐倒到第三个空杯当中,再将第二杯的雪碧倒到第一个杯子当中,最后把第三杯当中的可乐倒回第二个杯子中,实现交换。
public class java01 {
// 交换两个变量的值
public static void main(String[] args) {
//声明变量 a ,并赋值为1,b同理
int a = 1, b = 2;
//输出交换前a和b的值
System.out.println("a=" + a + "," + "b=" + b );
//将a赋值给第三个变量c,做三个的数值的交换
int c = a;
a = b;
b = c;
//输出交换后a和b的值
System.out.println("交换后:");
System.out.println("a=" + a + "," + "b=" + b );
}
}

Q2:交换两个变量的值,不允许使用第三个变量
A1:
既然第三个杯子用不了了,那只能想象是两个半杯的可乐和雪碧了。
若可乐和雪碧不能相融,那么就可以把雪碧倒到半杯可乐当中,再把可乐单独倒到雪碧杯当中。
实现两个杯子液体交换。
public class java01 {
// 交换两个变量的值
public static void main(String[] args) {
// 声明变量 a ,并赋值为1,b同理
int a = 3, b = 4;
// 输出交换前a和b的值
System.out.println("交换前:");
System.out.println("a=" + a + "," + "b=" + b);
// 将a和b相加成为新的a
a = a + b;
b = a - b;
a = a - b;
// 输出交换后a和b的值
System.out.println("交换后:");
System.out.println("a=" + a + "," + "b=" + b);
}
}

A2:用异或^运算符
public class java01 {
// 交换两个变量的值
public static void main(String[] args) {
//声明变量 a ,并赋值为1,b同理
int a = 14, b = 15;
//输出交换前a和b的值
System.out.println("交换前:");
System.out.println("a=" + a + "," + "b=" + b );
//使用异或^逻辑运算
a = a^b;
b = a^b;
a = a^b;
//输出交换后a和b的值
System.out.println("交换后:");
System.out.println("a=" + a + "," + "b=" + b );
}
}

本文探讨了在Java中如何交换两个变量的值,分别通过传统的使用第三个变量的方法和利用异或^运算符的技巧进行交换,详细解释了这两种方式的逻辑过程。
&spm=1001.2101.3001.5002&articleId=116571642&d=1&t=3&u=a8130599fc894c8483f1e036663db397)
2258

被折叠的 条评论
为什么被折叠?



