直接上代码,代码注释里有详细的说明。
publicclassSwapTest { publicstaticvoidmain(String[] args) { intnum1=10; intnum2=20; //方式一:定义临时变量的方式//推荐使用方式inttemp=num1; num1=num2; num2=temp; System.out.println("方式一num1:"+num1); System.out.println("方式一num2:"+num2); //方式二://好处:不用定义临时变量//弊端:① 相加操作可能超出存储范围// ② 有局限性:只能适用于数值类型num1=10; num2=20; num1=num1+num2; num2=num1-num2; num1=num1-num2; System.out.println("方式二num1:"+num1); System.out.println("方式二num2:"+num2); //方式三:使用位运算符//有局限性:只能适用于数值类型num1=10; num2=20; num1=num1^num2; num2=num1^num2; num1=num1^num2; System.out.println("方式三num1:"+num1); System.out.println("方式三num2:"+num2); } } 方式一num1:20方式一num2:10方式二num1:20方式二num2:10方式三num1:20方式三num2:10Processfinishedwithexitcode0
运行结果:
方式一num1:20方式一num2:10方式二num1:20方式二num2:10方式三num1:20方式三num2:10Processfinishedwithexitcode0