交换两个变量的值

Posted 格物致知_Tony

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了交换两个变量的值相关的知识,希望对你有一定的参考价值。

1、方案一

 1 public static void main(String[] args) {
 2     int x = 1;
 3     int y = 2;
 4         
 5     /*
 6         通用的方案:适用于任意的数据类型借助于第三个通样类型的临时变量
 7     */
 8     int temp = x;//x变量中值就赋值给了temp  temp = 1
 9     x = y;//再把y中的值放到x中,x = 2
10     y = temp;//再把temp中的值赋值给y  y=1
11     System.out.println("x = " + x);
12     System.out.println("y = " + y);
13 }        

 

2、方案二

 1 public static void main(String[] args){
 2     int x = 1;
 3     int y = 2;
 4     /*
 5     方案二:只适用于int等整数类型
 6     */
 7     x = x ^ y;
 8     y = x ^ y;//(新的x) ^ 原来的y = (原来的x ^ 原来的y) ^ 原来的y = 原来的x  (求不同)
 9     x = x ^ y;//(新的x) ^ 新的y = (原来的x ^ 原来的y) ^ 原来的x = 原来的y
10     System.out.println("x = " + x);
11     System.out.println("y = " + y);
12 
13 }

 

3、方案三

 1 public static void main(String[] args){
 2     int x = 1;
 3     int y = 2;
 4     /*
 5     方案三:只适用于int等整数类型有风险,可能会溢出
 6     */
 7     x = x + y;//有风险,可能会溢出
 8     y = x - y;//(新的x) - 原来的y = (原来的x + 原来的y)- 原来的y  = 原来的x
 9     x = x - y;//(新的x) - 新的y = (原来的x + 原来的y) - 原来的x = 原来的y
10     System.out.println("x = " + x);
11     System.out.println("y = " + y);
12 }

 

 

以上是关于交换两个变量的值的主要内容,如果未能解决你的问题,请参考以下文章

如何在PYTHON 中写一个函数交换两个变量的值

交换两个数的值,不适用第三个变量

PHP中交换两个变量的值

不利用临时变量,交换两个变量的值

如何通过调用函数交换两个变量的值及常见误区

实现两个变量的值交换的三种方法(两种方法不使用中间变量)