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 方案二:只能适用于数值类型,有局限性
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 }
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步