Java中关于交换两数值的问题
import java.util.Scanner;
public class Test6{
public static void main(String[] args){
Scanner input = new Scanner(System.in);
System.out.println("请输入第一个数:");
int a1 = input.nextInt();
System.out.println("请输入第二个数:");
int a2 = input.nextInt();
/*
(1)传统方法交换两个数的值
int a3 = 0;
a3 = a1;
a1 = a2;
a2 = a3;*/
/*
(2)通过表达式,不依赖第三个变量
a1 = a1 + a2 - (a2 = a1);*/
/*
(3)通过+ -计算,不依赖第三个变量
a1 = a1 + a2;
a2 = a1 - a2;
a1 = a1 - a2;*/
/*
(4)通过* /计算(不包含0),不依赖第三个变量
a1 = a1 * a2;
a2 = a1 / a2;
a1 = a1 / a2;*/
/*
(5)通过异或,两个数交换位置最快的方法,不依赖第三个变量(两数不能相同,否则为0)
a1 = a1 ^ a2;
a2 = a1 ^ a2;
a1 = a1 ^ a2;*/
System.out.println("交换后的结果为:" + a1 + "," + a2);
}
}