原创作品,允许转载,转载时请务必以超链接形式标明文章原始出处、作者信息和本声明。否则将追究法律责任。
http://www.cnblogs.com/JackKing-defier/p/4287741.html
不申请额外内存空间的情况下,互换两个整型变量的值。
之前在网上和一些书籍中了解到的版本是:
1 a = a + b; 2 b = a - b; 3 a = a - b;
我又做了一点点努力,把它浓缩成为了一行:
b = (a + b) - (a = b);
用Java编写如下:
1 public class Exchange { 2 /** 3 * @author Jack King 4 * @param args 5 */ 6 public static void main(String[] args) { 7 // TODO Auto-generated method stub 8 int a = 3; 9 int b = 5; 10 System.out.println("The origianl a is: "+ a); 11 System.out.println("The origianl b is: "+ b); 12 b = (a + b) - (a = b); 13 System.out.println("After exhanged."); 14 System.out.println("a is: "+ a); 15 System.out.println("b is: "+ b); 16 } 17 }
核心代码为" b = (a + b) - (a = b);"
只需要一行就可以实现两个整型变量的互换。:)