java中不用第三方变量交换两个int变量的值 至少两种方式

如题所述

第1个回答  2011-10-23
假设你要交换两变量 a,和b的值:
方法一:
a = a + b;
b = a - b;
a = a - b;
方法二:
a = a * b;
b = a / b;
a = a / b;
方法三:
a = a ^ b;
b = a ^ b;
a = a ^ b;
有什么问题可以百度hi 我本回答被提问者采纳
第2个回答  2011-10-23
顶都上的吧,挺好的,我之前没想到

用JAVA写“对两个整数变量的值进行互换(不需要第三方变量)”程序
方法一(加减法):a = a + b;b = a - b;a = a - b;方法二(异或运算):a = a ^ b;b = a ^ b;a = a ^ b;代码实现如下:public class Demo { public static void main(String [] args){ int m=2,n=3; \/\/method_1(m, n); method_2(m, n); }...

java中交换两个数的值,不出现第三个变量,初学者,求完整程序
创建一个类,在该类中定义两个变量并为其指定初始值,然后交换两个变量的值,要求不允许借助第三个变量,只能使用异或运行实现两个变量值的交换。你可以参考一下以下方法import java.util.Scanner;public class VariableExchange { public static void main(String[] args){ System.out.println("...

java进行两数交换时,如何不用中间量就交换?
方法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= 0b01...

位运算与原地交换两个数
要实现原地交换两个数,可以使用以下步骤:首先,将两个数进行按位异或操作,结果存储在其中一个数中。然后,将这个结果与原始的另一个数进行按位异或操作,将结果赋值给原来的存储异或结果的数。此时,两个数的值已经成功交换。这是因为异或操作的可逆性保证了操作可以正确地恢复原始值。值得注意的是,...

JAVA中: 怎么借助第三个变量将前两个变量的值进行互换
基本编程啊,c=a,a=b,b=c,或者来个猛的,a^=b,b^=a,a^=b

java疑问(关于swap)
首先,if语句是可以没用else部分的。如果不需要,可以不加。sort函数想把3个数排列顺序,排序过程中通常会出现有些数据次序不对,需要交换。交换最常用最简单的方法就是:第三量<==A,A<==B,B<==第三量。这时需要一个临时数据暂存要交换的数据之一。在此程序中,swap变量起的就是暂存作用。

c++中和java中的交换变量的函数(swap)(值传递和址传递)
增加耦合度。多数情况采用值传递,减少模块间的依赖。java不支持在参数传递中使用址传递,仅数组、string、对象等可以进行址传递。因此在java中编写swap函数时,若需要直接交换两个变量,可能需要通过数组元素交换的间接方法实现。比如交换数组中两个元素的位置,可以采用址传递实现。

java里如何利用第三个变量将另外两个变量进行转换
不过前提是数据类型必须是非String。对于这个题目,我认为,牌中有 A ,J,Q,K,如果不用 1,11,12,13分别代替的话,只能是把纸牌上的变量定义为String,而 String 是引用,不可以通过调用第三方函数实现交换数值(实际上是地址引用,相当于C语言的指针),但可以通过本身实现交换。正解1:int i...

java如何交换a和b的值
是两个变量的值吗 用一个中间变量temp就行了 temp=a a=b b=temp

C语言中,怎样不用中间变量而互换两个变量的值呢?
有两种方式可以不使用中间变量,交换同类型的变量a,b的值:1 .使用加法操作a+=b; b=a-b;a -= b;2 .使用异或操作:a^=b;b^=a;a^=b;C语言运算符是说明特定操作的符号, 它是构造C语言表达式的工具。C语言的运算异常丰富,除了控制语句和输入输出以外的几乎所有的基本操作都为运算符处理。除...

相似回答