码迷,mamicode.com
首页 > 其他好文 > 详细

交换两个变量的值

时间:2019-11-11 13:05:53      阅读:61      评论:0      收藏:0      [点我收藏+]

标签:main   原来   pre   div   oid   变量   数据类型   不同   class   

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 }

 

 

交换两个变量的值

标签:main   原来   pre   div   oid   变量   数据类型   不同   class   

原文地址:https://www.cnblogs.com/niujifei/p/11834067.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!