交换两个变量值的三种方法

编程入门 行业动态 更新时间:2024-10-23 09:39:18

交换两个变量值的<a href=https://www.elefans.com/category/jswz/34/1770022.html style=三种方法"/>

交换两个变量值的三种方法

文章目录

  • 交换两个变量的值的方法
    • 方法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}
}

该方法同样只能对数值型进行计算,但是优点是不要再分配存储空间

更多推荐

交换两个变量值的三种方法

本文发布于:2023-07-28 17:49:15,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1267209.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:三种   两个   方法   变量值

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!