三种方法"/>
交换两个变量值的三种方法
文章目录
- 交换两个变量的值的方法
- 方法1:定义临时变量
- 方法2:采用加减操作来实现交换
- 方法3:利用异或运算符进行操作
交换两个变量的值的方法
方法1:定义临时变量
public class Test {public static void main(String[] args) {int num1 = 13;int num2 = 15;System.out.println("num1= " + num1 + " num2= " + num2); //13,15int temp;temp = num1;num1 = num2;num2 = temp;System.out.println("交换顺序后:");System.out.println("num1= " + num1 + " num2= " + num2); //15,13}
}
这个方法采用了定义临时变量的方式,好处是对数值型或者非数值型变量都可以交换值,但是在使用时需要一块额外的存储空间。
方法2:采用加减操作来实现交换
这个方法的思路是得到两个数a, b的和,并保存在其中一个变量a中,之后用a减去b的值再赋值给b就可以得到原始a的值,再用a的值减去修改后的b的值就可以得到原始b的值。
public class Test {public static void main(String[] args) {int num1 = 13;int num2 = 15;System.out.println("num1= " + num1 + " num2= " + num2); //13, 15num1 = num1 + num2;num2 = num1 - num2;num1 = num1 - num2;System.out.println("交换顺序后:");System.out.println("num1= " + num1 + " num2= " + num2); //15, 13}
}
该方法比较难以理解,并且只能对数值型进行计算,但是优点是不要再分配存储空间。
方法3:利用异或运算符进行操作
利用的原理是假如数A和数B异或的结果是数C,那么A再和C异或结果是B,B和C异或结果是A。
public class Test {public static void main(String[] args) {int num1 = 13;int num2 = 15;System.out.println("num1= " + num1 + " num2= " + num2);//13, 15num1 = num1 ^ num2;num2 = num1 ^ num2;num1 = num1 ^ num2;System.out.println("交换顺序后:");System.out.println("num1= " + num1 + " num2= " + num2);//15, 13}
}
该方法同样只能对数值型进行计算,但是优点是不要再分配存储空间
更多推荐
交换两个变量值的三种方法
发布评论