`

交换两个数的位置,不用中间变量

 
阅读更多
a ^= b;
b ^= a;
a ^= b;

1最常用的:
public static void main(String[] args) {
int a = 5;
int b = 4;
a = a^b;
b = b^a;
a = a^b;
System.out.print(a + ":" + b);
}
这个是最快的

其次不是很好但是可行的
public static void main(String[] args) {
int a = 5;
int b = 4;
a = a+b;
b = a-b;
a = a-b;
System.out.print(a + ":" + b);
}和
public static void main(String[] args) {
int a = 5;
int b = 4;
a = a * b;
b = a / b;
a = a / b;
System.out.print(a + ":" + b);
}
这2种可能会内存溢出,不建议使用

最后一种,可能大家没看过的,可能是最难理解的:
public static void main(String[] args) {
int a = 5;
int b = 4;
b = a + 0 * (a = b);
System.out.print(a + ":" + b);
}
分享到:
评论

相关推荐

    示例代码:不经过中间变量交换两个数

    示例代码:不经过中间变量交换两个数的值。 附带代码注释

    Java不使用中间变量交换两个数

    在程序中实现交换两个数的功能并不复杂,但如果不使用中间变量,需要动一下脑筋。在本文介绍了两个方法(其实原理都是一个)。其基本原理是数的中和。也是说,通过某种运算(二元运算)将a和b两个数变成一个数,并...

    JS实现不用中间变量temp 实现两个变量值得交换方法

    1.使用加减法; var a=1; var b=2; a=a+b; b=a-b;...2.使用乘除法(乘除法更像是加...以上所述是小编给大家介绍的JS实现不用中间变量temp 实现两个变量值得交换方法,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言

    一种不需要中间变量交换两个变量内容的方法

    以前闲聊的时候朋友说有一种方法,不需要中间变量,就可以将两个变量的内容交换。

    最简单的交换两个整数算法

    不用定义中间变量,仅使用位运算来实现两个整数的交换

    SWAP:交换两个变量的内容-matlab开发

    SWAP(A,B) 将变量 A 的内容放入变量 B,反之亦然。 您可以使用函数语法'swap(A,B)'或命令语法'swap A B'。 例子: A = 1:4 ;... 与这两种方法相比的优势在于,使用 SWAP 一种不必声明中间变量或担心输出。

    不使用中间变量,交换int型的 a, b两个变量的值。

    代码如下: //by ppchen var a = 10, b = 2; a = a + b; b = a – b; a = a – b; 代码如下: //by Mr.... b = b^a; a = a ^b; 代码如下: //by cloudgamer var... 评:1、2种解法是普遍解,只能交换数字,而3、4种则适用性更

    两个数据的交换

    对于两个数据交换,我们最常用的算法是: { temp = A; A = B; B = temp; } 这种算法采用一个临时变量temp,做中间媒介;有时候你是否想过一个问题不要临时变量能实现这个交换吗?

    JavaScript两个变量交换值的实现方法

    本文主要描述,如何不使用中间值,将两个变量的值进行交换。 一、普通做法 var a = 1, b = 2, tmp; tmp = a; a = b; b = tmp; 普通的做法就是声明多一个临时变量tmp,进行数据交换过程中的缓存。这样的做法直观...

    python交换两个变量的值方法

    大部分语言,例如c语言,交换两个变量的值需要使用中间变量。 例如交换a,b 伪代码: tmp = a a = b b = tmp python里面可以实现无临时变量的交换 (a,b) = (b,a) 对于它的交换原理我深感好奇,因为这意味着python...

    PHP不用第三变量交换2个变量的值的解决方法

    一般都是借助第三个中间变量来实现原来两个变量的值交换,但是这道题却要求不能使用中间变量,这对于初学者来说也算是一个难题了。网上找到的几种方法总结如下:复制代码 代码如下://字符串版本 结合使用substr,...

    Delphi变量值交换演示示例.rar

    Delphi变量值交换演示示例,使用中间变量法、加减法、乘除法、异或法、汇编法等方法演示变量值交换,在网上收集的一些两个变量值的交换法,抛砖引玉。希望高手多给建议,谢谢。

    用C语言的泛型实现交换两个变量值

    第一种,最常用的是创建一个中间变量来循环交换它们的值: T a = ...; T b = ...; . T tmp = a; a = b; a = tmp; 我们称这种策略p99_swap1。在这里,编译器必须严格实现三个任务的顺序,否则,由此程序产生的结果将...

    C#基础入门之算法:交换

    两个变量的交换也需要一只“空杯子”,就是中间变量: string a="振刚";//第一个变量 string b="文峰";//第二个变量 string temp;//中间变量 //第一步:将变量a赋值给中间变量 temp=a;//如同牛奶倒入空杯 //第二步...

    经典C语言面试题(很多都是国际大公司的试题)

    //如何将a、b的值交换,并且不使用任何中间变量? //解析: //简而言之,用异或语句比较容易,不用担心超界的问题。 //如果采用: // a=a+b; // b=a-b; // a=a-b; //这样做的缺点就是如果a,b都是比较大的两个数,a=a...

    Python中的四种交换数值的方法解析

    交换两个变量的值方法,这个面试题如果只写一种当然很简单,没什么可以说的。 今天这个面试是问大家有几种办法来实现交换两个变量的值。 在没开始看具体答案前,你可以先想想看 下面分别来说说这几种方法 方法一 ...

    javascript入门笔记

    2、如果 a 大于 b的话 ,则交换两个数字的位置 使用 短路&&,扩展赋值运算符,位运算 4、条件运算符(三目运算) 单目(一元)运算符 :++,--,! 双目(二元)运算符 :+,-,*,/,%,>,<, ... ... 三目(三元)运算符 ...

    C++位操作的常见用法小结

    本文以实例形式对C++位操作的常见用法进行了总结。分享给大家供大家参考之用。...2 交换两个数,不用中间变量 void mySwap(int &a, int &b) { if(a == b) //相等时也能得到正确结果,但是没必要了

Global site tag (gtag.js) - Google Analytics