交换变量值的四种方法
一、将两个变量的值互相交换
方法一:使用中间变量交换,非常靠谱,适用于数值、字符串等。
方法二:^异或,但只使用于数值。
方法三:+- ,适用于数值。
方法四:*/ ,适用于数值,但不适用于其中一个变量为0 的情况。
程序运行结果:


程序代码:
/**
* @fileName : exchange2Var.java
* @description : TODO
* @author : yangzhihong
* @date : 2021年12月14日-下午4:18:31
*/
public class exchange2Var {
public static void main(String[] args) {
int a = 3, b = 5;
//方法一:使用中间变量交换
extracted1(a, b);
//方法二:^异或 只使用于数值
extracted2(a, b);
//方法三:+-
extracted3(a, b);
//方法四:*/ 不适用于其中一个变量为0 的情况
extracted4(a, b);
}
/**
* @return : void
* @Description : TODO
* @author : yangzhihong
* @Date : 2021年12月14日下午5:16:14
*/
private static void extracted4(int a, int b) {
System.out.println("方法四:");
System.out.println("[交换前]\ta="+a+"\tb="+b);
a = a * b;
b = a / b;
a = a / b;
System.out.println("[交换后]\ta="+a+"\tb="+b);
}
/**
* @return : void
* @Description : TODO
* @author : yangzhihong
* @Date : 2021年12月14日下午5:06:25
*/
private static void extracted3(int a, int b) {
System.out.println("方法三:");
System.out.println("[交换前]\ta="+a+"\tb="+b);
a = a + b;
b = a - b;
a = a - b;
System.out.println("[交换后]\ta="+a+"\tb="+b+"\n");
}
/**
* @return : void
* @Description : TODO
* @author : yangzhihong
* @Date : 2021年12月14日下午4:36:07
*/
private static void extracted2(int a, int b) {
System.out.println("方法二:");
System.out.println("[交换前]\ta="+a+"\tb="+b);
a ^= b;
b ^= a;
a ^= b;
System.out.println("[交换后]\ta="+a+"\tb="+b+"\n");
}
/**
* @return : void
* @Description : TODO
* @author : yangzhihong
* @Date : 2021年12月14日下午4:33:15
*/
private static void extracted1(int a, int b) {
System.out.println("方法一:");
System.out.println("[交换前]\ta="+a+"\tb="+b);
int c = a;
a = b;
b = c;
System.out.println("[交换后]\ta="+a+"\tb="+b+"\n");
}
}

浙公网安备 33010602011771号