黑马程序员技术交流社区
标题:
两个int变变量 不借助 其他临时变量 交换值
[打印本页]
作者:
梦ing
时间:
2012-12-19 23:12
标题:
两个int变变量 不借助 其他临时变量 交换值
如题。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
作者:
Sailing.
时间:
2012-12-19 23:17
别考我数学了:
int a,b;
a=10;b=12;
a=b-a; //a=2;b=12
b=b-a; //a=2;b=10
a=b+a; //a=10;b=10
作者:
董将
时间:
2012-12-19 23:19
class Demo {
public static void main(String[] args) {
int a=0;
int b=1;
a=a^b;
b=b^a;
a=a^b;
System.out.println(b);
}
}
作者:
董将
时间:
2012-12-19 23:20
这个方法看看对你有没有帮助
作者:
宋天琪
时间:
2012-12-20 10:22
int num1=10;
int num2=20;
num1=num1+num2;
num2=num1-num2;
num1=num1-num2;
Console.WriteLine("num1:{0},num2:{1}",num1,num2);
作者:
王斌
时间:
2012-12-20 10:37
这题可以做减法求得
比如:
int a = 4;
int b=5;
a=a+b;
b=a-b;
a=a-b;
System.out.print("b="+b+"\n"+"a="+a);
作者:
苏波
时间:
2012-12-20 12:04
int x,y;
x=y-x;//将y-x的值放进编号为x的房间,此时x里的值是x+y
y=y-x;//将y-x的值放入编号为y的房间,注意此时x房间里放的值是y-x,即此时的y-x为y-(y-x)实际上就是x
y=y+x;//将y+x的值放入编号为y的房间里,此时x房间中的放入仍是y-x没变,而y房间中放入的是上一步中的x值
左边是变量名 当做房间编号,右边是值当做入住的客户,就是入住宾馆的问题,基础要好好学啊,把这点弄清楚本题就不难了 其实就是借助x-y实现了x,y值的互换
实在不明白,可以像老师讲的那样画图,一画就明白了
作者:
dbqwaii
时间:
2012-12-20 12:31
int a=5,b=10;
a=a+b; a=15
b=a-b; b=15-10=5
a=a-b; a=15-5=10
结果a=10 b=5
作者:
刘斌
时间:
2012-12-20 12:46
算术运算代码如下:
int a,b;
a=10;b=12;
a=b-a; //a=2;b=12
b=b-a; //a=2;b=10
a=b+a; //a=12;b=10
位运算 通过异或运算也能实现变量的交换 代码:
int a=10,b=12; //a=1010^b=1100;
a=a^b; //a=0110^b=1100;
b=a^b; //a=0110^b=1010;
a=a^b; //a=1100=12;b=1010;
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2