您的位置:首页 > 编程语言 > Java开发

交换两个变量的值不使用第三个变量(Java)

2013-10-18 16:06 357 查看
关于这个问题网上有好多答案,最近有人说这是个奇葩问题

个人测试了一把,如果是普通的数字的话,基本上没有问题

public static void main(String[] args) {
int a = 2147483647;
int b = 2147483646;
// a=a+b;
// b=a-b;
// a=a-b;
// b = a + (a = b) * 0;
//        a = a * b;
//
//        b = a / b;
//
//        a = a / b;
a ^=b;
b ^=a;
a ^=b;
System.out.println(a + "," + b);
}


试了试,只用下面这种方式会 得出 -1 的结果

a = a * b;

b = a / b;

a = a / b;
2147483646,-1
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: