交换两个变量的值
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 }
以上是关于交换两个变量的值的主要内容,如果未能解决你的问题,请参考以下文章