导航:首页 > 整形美容 > java中两个整形变量怎么交换值

java中两个整形变量怎么交换值

发布时间:2021-02-23 02:21:25

1. 题目:JAVA中交换整型变量x与y的值的方法

每一次你赋值给一个variable的时候,这个variable的值就会被你所赋的新值给代替回。
假如X=5,y=1
Step(答1):X=5+1 (现在的X=6)
Step(2):Y=X-1=6-1(因为你的X在上一步已经被赋予新的值了,所以是6,现在Y是5)
Step(3):X=X-Y=6-5=1(X又被重新赋予新的值)
其实最简单的方法就是自己先自定义一个variable,假如是z,然后按照挨个替换就成了
int z
z=x;
x=y;
y=z;
这样是最简单的了

2. 用JAVA写“对两个整数变量的值进行互换(不需要第三方变量)”程序

JAVA对两个整数变量的值进行互换(不需要第三方变量)的程序如下:

方法一(加减法):

a=a+b;

b=a-b;

a=a-b;

方法二(异或运算):

a=a^b;

b=a^b;

a=a^b;

代码实现如下:

publicclassDemo{
publicstaticvoidmain(String[]args){
intm=2,n=3;
//method_1(m,n);
method_2(m,n);
}
/**
*使用异或^
*明白一个数,如果异或同一个数两次,那么就等于本身
*/
privatestaticvoidmethod_3(intm,intn){
m=m^n;
n=m^n;
m=m^n;
System.out.println("m="+m+" n="+n);
}
/**
*使用自身的数组,加减运算
*/
privatestaticvoidmethod_2(intm,intn){
m=m+n;
n=m-n;
m=m-n;
System.out.println("m="+m+" n="+n);
}
}

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

方法有很多,这里举出两种常用的:
方法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
早期为了减少中间变量对计算机内存的占用,采用中间的方法来交换数据。其实这种交换并不完美,如果交换的两个数都很大,可能会内存溢出。在现在的开发中建议使用中间值来交换数值。

4. java程序中,怎么互换2个变量的值

用第三个变量来存储。
就是再申请一个变量。
int num1=10;
int num2=8;
int temp=0

temp=num1;//将num1的值赋给中间变量专temp
num1=num2;//将num2的值赋给num1;
num2=temp;//将temp的值赋给num2,属num1和num2的值就互换了。

这个方法是最通用的,记住这个就行了。

5. java基础,对两个整数变量进行互换

楼主的问题问的很诡异啊。
你自己都说图是对的。那11行右边怎么可能是8?
如果回此时如答你所说b=8那么不就错了?
而且你自己说的b = (a ^ b)^ b = 3,到了11行算a的时候怎么就变成b ^ a ^ a=8?
就好比我问你,1+2=3正确,那么提问:为什么2+1=5.

细点心吧。。

6. Java中,先声明两个整型变量并赋值,然后将两个变量的值进行交换,求解

inti=5;
intj=6;

i=i+j;//5+6=11
j=i-j;//11-6=5
i=i-j;//11-5=6

两个变量之和不超出范围就版没问权题

7. java程序问题,如何用方法来交换两个整型变量的值

java没有指针,这题传过去就是副本,副本交换了回到主函数时原来的没有交换。

8. 如何在Java中实现交换两个变量值的方法

public class Demo {
public static void main(String[] args) {
//调用这个静态方法传递两个int 型的值版就是了。
权exchange(2, 6);
}

public static void exchange(int a, int b) {
int temp = 0;
temp = a;
a = b;
b = temp;
System.out.println("a=" + a);
System.out.println("b=" + b);

}
}

9. Java中交换两个整数类型的变量

^

^ 在java中是位运算符,异或运算。你圈的那三行核心代码就是通过异或运算来交换变量回A、B的值。答

关于异或运算:异或运算

publicclassTest{
publicstaticvoidmain(String[]args){
intA=14;
intB=5;

A=A^B;
B=B^A;
A=A^B;

System.out.println("A="+A);//A=5
System.out.println("B="+B);//B=14
}
}

执行结果

inttemp=A;//引入一个中间变量
A=B;
B=temp;

10. 如何用java实现两个变量值的互换

可以利用以下方式:通过异或实现(异或符号为^)关于^:异或的运算法则,相当于不带进位的二进制加法。二进制下用1表示真,0表示假,则异或的运算法则为:0异或0=0,1异或0=1,0异或1=1,1异或1=0(同为0,异为1),这些法则与加法是相同的,只是不带进位。第一个数 符号 第二个数 结果0 ^ 0 00 ^ 1 11 ^ 0 11 ^ 1 0如:num1 = 5,对应的二进制为(101); num2 = 7,对应的二进制为(111);num1=num1^num2=2; 即二的平方位1^1=0,二的一次方位0^1=1,二的0次方位1^1=0;得到(010)即为2。num2 = num1 ^ num2=5 ;相当于num2=num1^num2^num2;二的平方位1^1^1=1(此处无论num2的二的平方位是0还是1,异或运算后都为0,故得到的肯定与原num1的二的平方位相同,同理其他位置全部也都是原num1的数);二的一次方位0^1^1=0;二的0次方位1^1^1=1.;得到(101)即为5.num1 = num1^num2=7; 相当于num1 = num1^num2^num1^num2^num2=num2=7.此方法同样实现了两个数互换。

阅读全文

与java中两个整形变量怎么交换值相关的资料

热点内容
35岁干性皮肤起痘用什么护肤品 浏览:290
深海娜美皮肤多少钱 浏览:532
正品减肥多少钱 浏览:837
蒙妮坦美容养生馆靖南店怎么样 浏览:417
兰州哪里有白癜风医院 浏览:50
做隆鼻哪里整形医院比较好 浏览:590
怎么测试皮肤的年龄呢 浏览:516
植藻水能量化妆品多少钱一瓶 浏览:350
赣州市皮肤病哪里最好的医院 浏览:741
晩上吃什么水果减肥 浏览:824
上海美容纹眉多少钱 浏览:506
汽车美容店换机油要什么证 浏览:196
八大处整形外科医院住哪里 浏览:612
化妆生产许可证号在哪里 浏览:212
中性皮肤适合用哪个护肤品比较好 浏览:192
舟山妇科医院怎么样 浏览:928
皮肤敏感期擦什么护肤品 浏览:755
水剂类化妆品包括哪些 浏览:921
珠海整形医生方明技术怎么样 浏览:567
无锡整形哪里好擅选玛利亚重点 浏览:317