怎么在java上完成,实现两个int类型变量的交换,不使用中间变量

 我来答
战遐思溥未
2019-12-03 · TA获得超过3.7万个赞
知道大有可为答主
回答量:1.4万
采纳率:35%
帮助的人:865万
展开全部
方法有很多,这里举出两种常用的:
方法1:使用^操作来实现
int
x
=
10;
//用二进制表示:x=0b1010;
int
y
=
15;
//用二进制表示:x=0b1111;
System.out.println("x="+x+"
y="+y);
x
=
x^y;
//x^y=
0b1010^0b1111
=
0b0101
y
=
x^y;
//x^y=
0b0101^0b1111
=
0b1010
=10
x
=
x^y;
//x^y=
0b0101^0b1010
=
0b1111
=15
System.out.println("x="+x+"
y="+y);
方法2:使用+,-操作来实现
int
x
=
10;
int
y
=
15;
System.out.println("x="+x+"
y="+y);
x
=
x+y;
//x=
10+15=25
y
=
x-y;
//y=
25-15=10
x
=
x-y;
//x=
25-10=15
System.out.println("x="+x+"
y="+y);
结果:
x=10
y=15
x=15
y=10
早期为了减少中间变量对计算机内存的占用,采用中间的方法来交换数据。其实这种交换并不完美,如果交换的两个数都很大,可能会内存溢出。在现在的开发中建议使用中间值来交换数值。
占同书母癸
2019-12-09 · TA获得超过3.8万个赞
知道大有可为答主
回答量:1.5万
采纳率:25%
帮助的人:642万
展开全部
直接使用
integer.tostring(int型数据) ;
就是了...没有必要搞别的,
也不用导入类包,因为
integer类位于
java.lang
包中...
和string类在一个位置...
记住这个方法
会返回一个字符串数据,你需要在前面
用个变量接受返回的数据
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式